lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ