Home
last modified time | relevance | path

Searched refs:MSG_ZEROCOPY (Results 1 – 25 of 29) sorted by relevance

12

/linux/Documentation/translations/zh_CN/networking/
H A Dmsg_zerocopy.rst17 MSG_ZEROCOPY title
23 MSG_ZEROCOPY 标志用于启用套接字发送调用的免拷贝功能。该功能目前适用于 TCP、UDP 和 VSOCK
30 和 splice。MSG_ZEROCOPY 标志将底层的拷贝避免机制扩展到了常见的套接字发送调用中。
33 (page accounting)和完成通知的开销。因此,MSG_ZEROCOPY 通常仅在写入量超过大约 10 KB 时
41 MSG_ZEROCOPY 并非总是像简单地传递该标志那样容易。
56 [PATCH net-next v4 0/9] socket sendmsg MSG_ZEROCOPY
62 传递 MSG_ZEROCOPY 标志是启用免拷贝功能的最明显步骤,但并非唯一的步骤。
83 ret = send(fd, buf, sizeof(buf), MSG_ZEROCOPY);
101 MSG_ZEROCOPY 标志的 send 调用成功发送数据时,计数器都会增加。如果调用失败或长度为零,
185 传递标志 MSG_ZEROCOPY 是向内核发出的一个提示,让内核采用免拷贝的策略,同时也是一种约
[all …]
/linux/tools/testing/selftests/net/packetdrill/
H A Dtcp_zerocopy_epoll_edge.pkt7 // 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.
32 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
36 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
44 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
H A Dtcp_zerocopy_epoll_exclusive.pkt8 // 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.
34 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
38 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
46 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
H A Dtcp_zerocopy_epoll_oneshot.pkt7 // 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
33 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
37 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
45 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
H A Dtcp_zerocopy_basic.pkt4 // send a packet with MSG_ZEROCOPY and receive the notification ID
23 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
41 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
H A Dtcp_zerocopy_closed.pkt2 // send with MSG_ZEROCOPY on a non-established socket
17 +0 send(4, ..., 4000, MSG_ZEROCOPY) = -1 EPIPE (Broken pipe)
30 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
H A Dtcp_zerocopy_fastopen-client.pkt4 // send data with MSG_FASTOPEN | MSG_ZEROCOPY and verify that the
19 +0 sendto(3, ..., 500, MSG_FASTOPEN|MSG_ZEROCOPY, ..., ...) = -1 EINPROGRESS (Operation now in progress)
40 +0 sendto(5, ..., 500, MSG_FASTOPEN|MSG_ZEROCOPY, ..., ...) = 500
H A Dtcp_zerocopy_batch.pkt23 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
27 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
H A Dtcp_zerocopy_small.pkt24 +0 send(4, ..., 1, MSG_ZEROCOPY) = 1
43 +0 send(4, ..., 1, MSG_ZEROCOPY) = 1
H A Dtcp_zerocopy_fastopen-server.pkt4 // send data with MSG_FASTOPEN | MSG_ZEROCOPY and verify that the
27 +0 sendto(4, ..., 1000, MSG_ZEROCOPY, ..., ...) = 1000
H A Dtcp_zerocopy_maxfrags.pkt51 msg_flags=0}, MSG_ZEROCOPY) = 18
93 msg_flags=0}, MSG_ZEROCOPY) = 64
H A Dtcp_zerocopy_client.pkt16 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
/linux/Documentation/networking/
H A Dmsg_zerocopy.rst3 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 Dmsg_flags.c17 #ifndef MSG_ZEROCOPY
18 #define MSG_ZEROCOPY 0x4000000 macro
/linux/tools/testing/selftests/net/
H A Dudpgso_bench_tx.c46 #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 Dtcp_mmap.c71 #ifndef MSG_ZEROCOPY
72 #define MSG_ZEROCOPY 0x4000000 macro
598 (size_t)wr, zflg ? MSG_ZEROCOPY : 0); in main()
H A Dmsg_zerocopy.c73 #ifndef MSG_ZEROCOPY
74 #define MSG_ZEROCOPY 0x4000000 macro
198 flags |= MSG_ZEROCOPY; in do_sendmsg()
/linux/tools/testing/vsock/
H A Dvsock_test_zerocopy.c178 sendmsg_res = sendmsg(fd, &msg, MSG_ZEROCOPY); in test_client()
387 send_buf(fd, sbuf2, sizeof(sbuf2), MSG_ZEROCOPY, sizeof(sbuf2)); in test_stream_msgzcopy_mangle_client()
H A Dvsock_perf.c320 zerocopy ? MSG_ZEROCOPY : 0); in run_sender()
H A Dvsock_test.c1649 send_byte(fd, 1, MSG_ZEROCOPY); in test_stream_msgzcopy_leak_errq_server()
1719 * send(s, &(char){ 0 }, 1, MSG_ZEROCOPY);
1799 res = sendmsg(fd, &msg, MSG_ZEROCOPY); in test_stream_msgzcopy_leak_zcskb_server()
2441 .name = "SOCK_STREAM MSG_ZEROCOPY",
2446 .name = "SOCK_SEQPACKET MSG_ZEROCOPY",
2451 .name = "SOCK_STREAM MSG_ZEROCOPY empty MSG_ERRQUEUE",
2486 .name = "SOCK_STREAM MSG_ZEROCOPY leak MSG_ERRQUEUE",
2491 .name = "SOCK_STREAM MSG_ZEROCOPY leak completion skb",
2535 .name = "SOCK_STREAM virtio MSG_ZEROCOPY coalescence corruption",
/linux/net/rds/
H A Dsend.c1018 if ((msg->msg_flags & MSG_ZEROCOPY) && !zcopy_cookie) in rds_rm_size()
1144 bool zcopy = ((msg->msg_flags & MSG_ZEROCOPY) && in rds_sendmsg()
1158 if (msg->msg_flags & ~(MSG_DONTWAIT | MSG_CMSG_COMPAT | MSG_ZEROCOPY)) { in rds_sendmsg()
/linux/tools/perf/trace/beauty/include/linux/
H A Dsocket.h345 #define MSG_ZEROCOPY 0x4000000 /* Use user data in kernel path */
346 #define MSG_ZEROCOPY global() macro
/linux/net/vmw_vsock/
H A Dvirtio_transport_common.c333 * there is no MSG_ZEROCOPY flag set. in virtio_transport_send_pkt_info()
336 info->msg->msg_flags &= ~MSG_ZEROCOPY; in virtio_transport_send_pkt_info()
338 if (info->msg->msg_flags & MSG_ZEROCOPY) in virtio_transport_send_pkt_info()
345 if (info->msg->msg_flags & MSG_ZEROCOPY && in virtio_transport_send_pkt_info()
/linux/net/ipv4/
H A Dtcp.c1140 if ((flags & MSG_ZEROCOPY) && size) { in tcp_sendmsg_locked()
1144 zc = MSG_ZEROCOPY; in tcp_sendmsg_locked()
1154 zc = MSG_ZEROCOPY; in tcp_sendmsg_locked()
1173 (!(flags & MSG_ZEROCOPY) || !sock_flag(sk, SOCK_ZEROCOPY))) { in tcp_sendmsg_locked()
1326 } else if (zc == MSG_ZEROCOPY) { in tcp_sendmsg_locked()
/linux/tools/testing/selftests/drivers/net/hw/
H A Dncdevmem.c1378 ret = sendmsg(socket_fd, &msg, MSG_ZEROCOPY); in do_client()

12