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.

Reply via email to