[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180416173339.6310-1-edumazet@google.com>
Date: Mon, 16 Apr 2018 10:33:34 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: "David S . Miller" <davem@...emloft.net>
Cc: netdev <netdev@...r.kernel.org>,
Eric Dumazet <edumazet@...gle.com>,
Neal Cardwell <ncardwell@...gle.com>,
Yuchung Cheng <ycheng@...gle.com>,
Soheil Hassas Yeganeh <soheil@...gle.com>,
Eric Dumazet <eric.dumazet@...il.com>
Subject: [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
Powered by blists - more mailing lists