Messages in this thread | | | Date | Wed, 05 Oct 2011 07:50:26 -0400 | From | starlight@binnacle ... | Subject | Re: big picture UDP/IP performance question re 2.6.18 -> 2.6.32 |
| |
At 10:53 AM 10/5/2011 +0200, Eric Dumazet wrote: > >Note : > >Your results are from a combination of a user >application and kernel default strategies. > >On other combinations, results can be completely different. > >A wakeup strategy is somewhat tricky : > >- Should we affine or not. >- Should we queue the wakeup on a remote CPU, > to keep scheduler data hot in a single cpu cache. >- Should we use RPS/RFS to queue the packet to > another CPU before even handling it in our stack, > to keep network data hot in a single cpu > cache. (check Documentation/networking/scaling.txt) > >At least, with recent kernels, we have many >available choices to tune a workload.
I would argue that results speak louder than features. A 300% deterioration in latency, 600% deterioration in sigma latency and a 50-100% increase in apparent system overhead is not impressive.
Our application is designed to run optimally as a scalable real-time network transaction processor and provides for a variety of different thread-pool and queuing approaches. Performance is worse for every one of them in newer kernels. The ones that scale the best fared worst.
It seems to me that any scheduler-intensive application will suffer a similar fate.
| |