[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161118.104549.1326421456884426702.davem@davemloft.net>
Date: Fri, 18 Nov 2016 10:45:49 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: netdev@...r.kernel.org, willemb@...gle.com
Subject: Re: [PATCH net-next] udp: enable busy polling for all sockets
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Wed, 16 Nov 2016 09:10:42 -0800
> From: Eric Dumazet <edumazet@...gle.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 <edumazet@...gle.com>
Applied, thanks Eric.
Powered by blists - more mailing lists