/linux/tools/testing/selftests/net/packetdrill/ |
H A D | tcp_zerocopy_epoll_edge.pkt | 7 // fire two sends with MSG_ZEROCOPY and receive the acks. confirm that EPOLLERR 9 // MSG_ZEROCOPY. confirm that EPOLLERR is correctly fired again only once. 29 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000 33 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000 41 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
|
H A D | tcp_zerocopy_epoll_exclusive.pkt | 8 // fire two sends with MSG_ZEROCOPY and receive the acks. confirm that EPOLLERR 10 // MSG_ZEROCOPY. confirm that EPOLLERR is correctly fired again only once. 31 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000 35 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000 43 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
|
H A D | tcp_zerocopy_epoll_oneshot.pkt | 7 // fire two sends with MSG_ZEROCOPY and receive the acks. confirm that EPOLLERR 9 // with MSG_ZEROCOPY. confirm that EPOLLERR is not fired. Rearm the FD and 30 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000 34 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000 42 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
|
H A D | tcp_zerocopy_basic.pkt | 4 // send a packet with MSG_ZEROCOPY and receive the notification ID 21 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000 39 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
|
H A D | tcp_zerocopy_closed.pkt | 2 // send with MSG_ZEROCOPY on a non-established socket 15 +0 send(4, ..., 4000, MSG_ZEROCOPY) = -1 EPIPE (Broken pipe) 28 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
|
H A D | tcp_zerocopy_fastopen-client.pkt | 4 // send data with MSG_FASTOPEN | MSG_ZEROCOPY and verify that the 17 …+0 sendto(3, ..., 500, MSG_FASTOPEN|MSG_ZEROCOPY, ..., ...) = -1 EINPROGRESS (Operation now in pro… 38 +0 sendto(5, ..., 500, MSG_FASTOPEN|MSG_ZEROCOPY, ..., ...) = 500
|
H A D | tcp_zerocopy_batch.pkt | 21 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000 25 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
|
H A D | tcp_zerocopy_small.pkt | 22 +0 send(4, ..., 1, MSG_ZEROCOPY) = 1 41 +0 send(4, ..., 1, MSG_ZEROCOPY) = 1
|
H A D | tcp_zerocopy_fastopen-server.pkt | 4 // send data with MSG_FASTOPEN | MSG_ZEROCOPY and verify that the 25 +0 sendto(4, ..., 1000, MSG_ZEROCOPY, ..., ...) = 1000
|
H A D | tcp_zerocopy_maxfrags.pkt | 49 msg_flags=0}, MSG_ZEROCOPY) = 18 91 msg_flags=0}, MSG_ZEROCOPY) = 64
|
H A D | tcp_zerocopy_client.pkt | 14 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
|
/linux/Documentation/networking/ |
H A D | msg_zerocopy.rst | 3 MSG_ZEROCOPY title 9 The MSG_ZEROCOPY flag enables copy avoidance for socket send calls. 19 such as sendfile and splice. The MSG_ZEROCOPY flag extends the 24 notification overhead. As a result, MSG_ZEROCOPY is generally only 35 Converting an existing application to MSG_ZEROCOPY is not always as 53 [PATCH net-next v4 0/9] socket sendmsg MSG_ZEROCOPY 60 Passing the MSG_ZEROCOPY flag is the most obvious step to enable copy 84 ret = send(fd, buf, sizeof(buf), MSG_ZEROCOPY); 109 MSG_ZEROCOPY that successfully sends data increments the counter. The 211 Passing flag MSG_ZEROCOPY is a hint to the kernel to apply copy [all …]
|
/linux/tools/perf/trace/beauty/ |
H A D | msg_flags.c | 17 #ifndef MSG_ZEROCOPY 18 #define MSG_ZEROCOPY 0x4000000 macro
|
/linux/tools/testing/selftests/net/ |
H A D | udpgso_bench_tx.c | 46 #ifndef MSG_ZEROCOPY 47 #define MSG_ZEROCOPY 0x4000000 macro 279 cfg_zerocopy ? MSG_ZEROCOPY : 0); in send_tcp() 299 ret = sendto(fd, data, len, cfg_zerocopy ? MSG_ZEROCOPY : 0, in send_udp() 371 ret = sendmmsg(fd, mmsgs, i, cfg_zerocopy ? MSG_ZEROCOPY : 0); in send_udp_sendmmsg() 420 ret = sendmsg(fd, &msg, cfg_zerocopy ? MSG_ZEROCOPY : 0); in send_udp_segment()
|
H A D | tcp_mmap.c | 71 #ifndef MSG_ZEROCOPY 72 #define MSG_ZEROCOPY 0x4000000 macro 598 (size_t)wr, zflg ? MSG_ZEROCOPY : 0); in main()
|
H A D | msg_zerocopy.c | 73 #ifndef MSG_ZEROCOPY 74 #define MSG_ZEROCOPY 0x4000000 macro 197 flags |= MSG_ZEROCOPY; in do_sendmsg()
|
/linux/tools/testing/vsock/ |
H A D | vsock_test_zerocopy.c | 174 sendmsg_res = sendmsg(fd, &msg, MSG_ZEROCOPY); in test_client()
|
H A D | vsock_perf.c | 320 zerocopy ? MSG_ZEROCOPY : 0); in run_sender()
|
H A D | vsock_test.c | 1522 send_byte(fd, 1, MSG_ZEROCOPY); in test_stream_msgzcopy_leak_errq_client() 1672 res = sendmsg(fd, &msg, MSG_ZEROCOPY); in test_stream_msgzcopy_leak_zcskb_client()
|
/linux/net/rds/ |
H A D | send.c | 958 if ((msg->msg_flags & MSG_ZEROCOPY) && !zcopy_cookie) in rds_rm_size() 1117 bool zcopy = ((msg->msg_flags & MSG_ZEROCOPY) && in rds_sendmsg() 1131 if (msg->msg_flags & ~(MSG_DONTWAIT | MSG_CMSG_COMPAT | MSG_ZEROCOPY)) { in rds_sendmsg()
|
/linux/tools/perf/trace/beauty/include/linux/ |
H A D | socket.h | 331 #define MSG_ZEROCOPY 0x4000000 /* Use user data in kernel path */ macro
|
/linux/include/linux/ |
H A D | socket.h | 331 #define MSG_ZEROCOPY 0x4000000 /* Use user data in kernel path */ macro
|
/linux/net/vmw_vsock/ |
H A D | virtio_transport_common.c | 370 info->msg->msg_flags &= ~MSG_ZEROCOPY; in virtio_transport_send_pkt_info() 372 if (info->msg->msg_flags & MSG_ZEROCOPY) in virtio_transport_send_pkt_info() 401 if (info->msg && info->msg->msg_flags & MSG_ZEROCOPY && in virtio_transport_send_pkt_info()
|
/linux/net/ipv4/ |
H A D | tcp.c | 1066 if ((flags & MSG_ZEROCOPY) && size) { in tcp_sendmsg_locked() 1070 zc = MSG_ZEROCOPY; in tcp_sendmsg_locked() 1079 zc = MSG_ZEROCOPY; in tcp_sendmsg_locked() 1238 } else if (zc == MSG_ZEROCOPY) { in tcp_sendmsg_locked()
|
/linux/io_uring/ |
H A D | net.c | 1275 zc->msg_flags = READ_ONCE(sqe->msg_flags) | MSG_NOSIGNAL | MSG_ZEROCOPY; in io_send_zc_prep()
|