Zbr's days.
August
Sun Mon Tue Wed Thu Fri Sat
   
9
   
2006
Months
Aug

About TODO Blog RSS Old blog Projects Gallery Notes

Wed, 09 Aug 2006

Network tree allocator performance test.


I've run epoll based web server from kevent testbed and got 2301 requests per second, while with usual code it is about 1600-1800 requests per second.
It can be explained by tons of reasons, but this test clearly shows that network tree allocator can behave not worse and maybe better than usual slab one (all debugging options are turned off) for network traffic allocations.

This test (single-threaded web server and httperf as client) has been run without any SMP performance tuning (and I have one gigantic lock right now around all allocations and freeings, but do not think too bad about my mental abilities, it will be completely eliminated after per-cpu tuning is completed (similar to how it is implemented in SLAB-allocator)).

All changes in the core network stack (not including allocator itself) conains of *kmalloc()/kfree() replacement in *alloc_skb()/skb_release_data() and addition of a new field into struct sk_buff which holds total allocation size, since ->totalsize variable can be changed while skb is being processed in the kernel.

/devel/networking/nta :: Link / Comments (0)

Please solve this captcha to be allowed to post (need to reload in a minute): 14 + 25

Comments are closed for this story.