aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/opa_vnic
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2018-04-27 08:58:09 -0700
committerDavid S. Miller <davem@davemloft.net>2018-04-29 21:29:55 -0400
commitaacb0c2e524c38d7ab48b0beb86427a36807079f (patch)
tree8b917914f2e12f287d7be8334c227dd65fa8ec8a /drivers/infiniband/ulp/opa_vnic
parenttcp: add TCP_ZEROCOPY_RECEIVE support for zerocopy receive (diff)
downloadlinux-dev-aacb0c2e524c38d7ab48b0beb86427a36807079f.tar.xz
linux-dev-aacb0c2e524c38d7ab48b0beb86427a36807079f.zip
selftests: net: tcp_mmap must use TCP_ZEROCOPY_RECEIVE
After prior kernel change, mmap() on TCP socket only reserves VMA. We have to use getsockopt(fd, IPPROTO_TCP, TCP_ZEROCOPY_RECEIVE, ...) to perform the transfert of pages from skbs in TCP receive queue into such VMA. struct tcp_zerocopy_receive { __u64 address; /* in: address of mapping */ __u32 length; /* in/out: number of bytes to map/mapped */ __u32 recv_skip_hint; /* out: amount of bytes to skip */ }; After a successful getsockopt(...TCP_ZEROCOPY_RECEIVE...), @length contains number of bytes that were mapped, and @recv_skip_hint contains number of bytes that should be read using conventional read()/recv()/recvmsg() system calls, to skip a sequence of bytes that can not be mapped, because not properly page aligned. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Andy Lutomirski <luto@kernel.org> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/infiniband/ulp/opa_vnic')
0 files changed, 0 insertions, 0 deletions