Re: [PATCH net-next 0/5] tcp: add zero copy receive
From: Eric Dumazet Date: Mon, 16 Apr 2018 10:33:34 -0700 > This patch series add mmap() support to TCP sockets for RX zero copy. > > While tcp_mmap() patch itself is quite small (~100 LOC), optimal support > for asynchronous mmap() required better SO_RCVLOWAT behavior, and a > test program to demonstrate how mmap() on TCP sockets can be used. > > Note that mmap() (and associated munmap()) calls are adding more > pressure on per-process VM semaphore, so might not show benefit > for processus with high number of threads. Great work. I can see how it is less effective without the rcvlowat fixes/tweaks. Series applied, thanks Eric!
[PATCH net-next 0/5] tcp: add zero copy receive
This patch series add mmap() support to TCP sockets for RX zero copy. While tcp_mmap() patch itself is quite small (~100 LOC), optimal support for asynchronous mmap() required better SO_RCVLOWAT behavior, and a test program to demonstrate how mmap() on TCP sockets can be used. Note that mmap() (and associated munmap()) calls are adding more pressure on per-process VM semaphore, so might not show benefit for processus with high number of threads. Eric Dumazet (5): tcp: fix SO_RCVLOWAT and RCVBUF autotuning tcp: fix delayed acks behavior for SO_RCVLOWAT tcp: avoid extra wakeups for SO_RCVLOWAT users tcp: implement mmap() for zero copy receive selftests: net: add tcp_mmap program include/linux/net.h| 1 + include/net/tcp.h | 4 + net/core/sock.c| 5 +- net/ipv4/af_inet.c | 3 +- net/ipv4/tcp.c | 138 net/ipv4/tcp_input.c | 22 +- net/ipv6/af_inet6.c| 3 +- tools/testing/selftests/net/Makefile | 2 + tools/testing/selftests/net/tcp_mmap.c | 437 + 9 files changed, 608 insertions(+), 7 deletions(-) create mode 100644 tools/testing/selftests/net/tcp_mmap.c -- 2.17.0.484.g0c8726318c-goog