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:   Thu, 27 Jan 2022 10:17:13 -0500
From:   Willem de Bruijn <willemdebruijn.kernel@...il.com>
To:     Pavel Begunkov <asml.silence@...il.com>
Cc:     netdev@...r.kernel.org, "David S . Miller" <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>,
        Eric Dumazet <edumazet@...gle.com>,
        Willem de Bruijn <willemdebruijn.kernel@...il.com>,
        linux-kernel@...r.kernel.org, Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH net-next v2 00/10] udp/ipv6 optimisations

On Wed, Jan 26, 2022 at 7:36 PM Pavel Begunkov <asml.silence@...il.com> wrote:
>
> Shed some weight from udp/ipv6. Zerocopy benchmarks over dummy showed
> ~5% tx/s improvement, should be similar for small payload non-zc
> cases.
>
> The performance comes from killing 4 atomics and a couple of big struct
> memcpy/memset. 1/10 removes a pair of atomics on dst refcounting for
> cork->skb setup, 9/10 saves another pair on cork init. 5/10 and 8/10
> kill extra 88B memset and memcpy respectively.
>
> v2: add a comment about setting dst early in ip6_setup_cork()
>     drop non-udp patches for now
>     add patch 10
>
> Pavel Begunkov (10):
>   ipv6: optimise dst refcounting on skb init
>   udp6: shuffle up->pending AF_INET bits
>   ipv6: remove daddr temp buffer in __ip6_make_skb
>   ipv6: clean up cork setup/release
>   ipv6: don't zero inet_cork_full::fl after use
>   ipv6: pass full cork into __ip6_append_data()
>   udp6: pass flow in ip6_make_skb together with cork
>   udp6: don't make extra copies of iflow
>   ipv6: optimise dst refcounting on cork init
>   ipv6: partially inline ipv6_fixup_options
>
>  include/net/ipv6.h    |  14 ++++--
>  net/ipv6/exthdrs.c    |   8 ++--
>  net/ipv6/ip6_output.c |  99 ++++++++++++++++++++++------------------
>  net/ipv6/udp.c        | 103 ++++++++++++++++++++----------------------
>  4 files changed, 118 insertions(+), 106 deletions(-)

For the series:

Reviewed-by: Willem de Bruijn <willemb@...gle.com>

Iterative review vs v1, where I only had one small comment, which was
addressed. NB: Due to some subject line changes, it wasn't immediately
clear to me that this was just a range-diff over the first 10 patches
in both series.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ