On Fri, 2018-11-30 at 15:32 -0500, Willem de Bruijn wrote:
> From: Willem de Bruijn <will...@google.com>
> 
> Extend zerocopy to udp sockets. Allow setting sockopt SO_ZEROCOPY and
> interpret flag MSG_ZEROCOPY.
> 
> This patch was previously part of the zerocopy RFC patchsets. Zerocopy
> is not effective at small MTU. With segmentation offload building
> larger datagrams, the benefit of page flipping outweights the cost of
> generating a completion notification.
> 
> tools/testing/selftests/net/msg_zerocopy.sh after applying follow-on
> test patch and making skb_orphan_frags_rx same as skb_orphan_frags:
> 
>     ipv4 udp -t 1
>     tx=191312 (11938 MB) txc=0 zc=n
>     rx=191312 (11938 MB)
>     ipv4 udp -z -t 1
>     tx=304507 (19002 MB) txc=304507 zc=y
>     rx=304507 (19002 MB)
>     ok
>     ipv6 udp -t 1
>     tx=174485 (10888 MB) txc=0 zc=n
>     rx=174485 (10888 MB)
>     ipv6 udp -z -t 1
>     tx=294801 (18396 MB) txc=294801 zc=y
>     rx=294801 (18396 MB)
>     ok
> 
> Changes
>   v1 -> v2
>     - Fixup reverse christmas tree violation
>   v2 -> v3
>     - Split refcount avoidance optimization into separate patch
>       - Fix refcount leak on error in fragmented case
>         (thanks to Paolo Abeni for pointing this one out!)
>       - Fix refcount inc on zero
>       - Test sock_flag SOCK_ZEROCOPY directly in __ip_append_data.
>         This is needed since commit 5cf4a8532c99 ("tcp: really ignore
>       MSG_ZEROCOPY if no SO_ZEROCOPY") did the same for tcp.
> 
> Signed-off-by: Willem de Bruijn <will...@google.com>

Acked-by: Paolo Abeni <pab...@redhat.com>

Reply via email to