From: Eric Dumazet <eric.duma...@gmail.com> Date: Wed, 16 Nov 2016 09:10:42 -0800
> From: Eric Dumazet <eduma...@google.com> > > UDP busy polling is restricted to connected UDP sockets. > > This is because sk_busy_loop() only takes care of one NAPI context. > > There are cases where it could be extended. > > 1) Some hosts receive traffic on a single NIC, with one RX queue. > > 2) Some applications use SO_REUSEPORT and associated BPF filter > to split the incoming traffic on one UDP socket per RX > queue/thread/cpu > > 3) Some UDP sockets are used to send/receive traffic for one flow, but > they do not bother with connect() > > > This patch records the napi_id of first received skb, giving more > reach to busy polling. > > Tested: > > lpaa23:~# echo 70 >/proc/sys/net/core/busy_read > lpaa24:~# echo 70 >/proc/sys/net/core/busy_read > > lpaa23:~# for f in `seq 1 10`; do ./super_netperf 1 -H lpaa24 -t UDP_RR -l 5; > done > > Before patch : > 27867 28870 37324 41060 41215 > 36764 36838 44455 41282 43843 > After patch : > 73920 73213 70147 74845 71697 > 68315 68028 75219 70082 73707 > > Signed-off-by: Eric Dumazet <eduma...@google.com> Applied, thanks Eric.