|
|
Log in / Subscribe / Register

tcp: mmap: rework zerocopy receive

From:  Eric Dumazet <edumazet-AT-google.com>
To:  "David S . Miller" <davem-AT-davemloft.net>
Subject:  [PATCH v3 net-next 0/2] tcp: mmap: rework zerocopy receive
Date:  Thu, 26 Apr 2018 07:50:54 -0700
Message-ID:  <20180426145056.220325-1-edumazet@google.com>
Cc:  netdev <netdev-AT-vger.kernel.org>, Andy Lutomirski <luto-AT-kernel.org>, linux-kernel <linux-kernel-AT-vger.kernel.org>, linux-mm <linux-mm-AT-kvack.org>, Ka-Cheong Poon <ka-cheong.poon-AT-oracle.com>, Eric Dumazet <edumazet-AT-google.com>, Eric Dumazet <eric.dumazet-AT-gmail.com>
Archive-link:  Article

syzbot reported a lockdep issue caused by tcp mmap() support.

I implemented Andy Lutomirski nice suggestions to resolve the
issue and increase scalability as well.

First patch is adding a new getsockopt() operation and changes mmap()
behavior.

Second patch changes tcp_mmap reference program.

v3: change TCP_ZEROCOPY_RECEIVE to be a getsockopt() option
    instead of setsockopt(), feedback from Ka-Cheon Poon

v2: Added a missing page align of zc->length in tcp_zerocopy_receive()
    Properly clear zc->recv_skip_hint in case user request was completed.

Eric Dumazet (2):
  tcp: add TCP_ZEROCOPY_RECEIVE support for zerocopy receive
  selftests: net: tcp_mmap must use TCP_ZEROCOPY_RECEIVE

 include/uapi/linux/tcp.h               |   8 ++
 net/ipv4/tcp.c                         | 192 +++++++++++++------------
 tools/testing/selftests/net/tcp_mmap.c |  64 +++++----
 3 files changed, 146 insertions(+), 118 deletions(-)

-- 
2.17.0.484.g0c8726318c-goog



Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds