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] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 6 May 2017 16:09:30 -0700
From:   Tom Herbert <tom@...bertland.com>
To:     Paolo Abeni <pabeni@...hat.com>
Cc:     Linux Kernel Network Developers <netdev@...r.kernel.org>,
        "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>
Subject: Re: [RFC PATCH 0/3] udp: scalability improvements

On Sat, May 6, 2017 at 1:42 PM, Paolo Abeni <pabeni@...hat.com> wrote:
> This patch series implement an idea suggested by Eric Dumazet to
> reduce the contention of the udp sk_receive_queue lock when the socket is
> under flood.
>
> An ancillary queue is added to the udp socket, and the socket always
> tries first to read packets from such queue. If it's empty, we splice
> the content from sk_receive_queue into the ancillary queue.
>
> The first patch introduces some helpers to keep the udp code small, and the
> following two implement the ancillary queue strategy. The code is split
> to hopefully help the reviewing process.
>
> The measured overall gain under udp flood is in the 20-35% range depending on
> the numa layout and the number of ingress queue used by the relevant nic.
>
Certainly sounds good, but can you give real reproducible performance
numbers including the test that was run?

Tom

> On a single numa node host, the peak tput is now reached when the traffic
> targeting the udp socket uses multiple nic rx queues, while on current net-next
> the tput always decreases when moving from a single rx queue to multiple ones.
>
>
> Paolo Abeni (3):
>   net/sock: factor out dequeue/peek with offset code
>   udp: use a separate rx queue for packet reception
>   udp: keep the sk_receive_queue held when splicing
>
>  include/linux/skbuff.h |   7 +++
>  include/linux/udp.h    |   3 +
>  include/net/sock.h     |   4 +-
>  include/net/udp.h      |   9 +--
>  include/net/udplite.h  |   2 +-
>  net/core/datagram.c    |  90 +++++++++++++++------------
>  net/ipv4/udp.c         | 162 +++++++++++++++++++++++++++++++++++++++++++------
>  net/ipv6/udp.c         |   3 +-
>  8 files changed, 211 insertions(+), 69 deletions(-)
>
> --
> 2.9.3
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ