On Thu, 2016-05-19 at 11:56 -0700, Eric Dumazet wrote: > Removing busylock helped in all cases I tested. (at least on x86 as > David pointed out) > > As I said, we need to revisit busylock now that spinlocks are different. > > In one case (20 concurrent UDP netperf), I even got a 500 % increase. > > With busylock : > > lpaa5:~# sar -n DEV 4 4|grep eth0 > Average: eth0 12.19 112797.12 1.95 37672.28 0.00 > 0.00 0.69 >
Hmpf, my sysctl logic was inverted. Really these results made little sense. Sorry for the noise. At least we have 8% confirmed gain with this stuff ;) > Presumably it would tremendously help if the actual kfree_skb() > was done after qdisc lock is released, ie not from the qdisc->enqueue() > method. > This part is still valid. We could have a per cpu storage of one skb pointer, so that we do not have to change all ->enqueue() prototypes.