Home
last modified time | relevance | path

Searched refs:MSG_ZEROCOPY (Results 1 – 25 of 27) 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.
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 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.
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 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
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 Dtcp_zerocopy_basic.pkt4 // 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 Dtcp_zerocopy_closed.pkt2 // 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 Dtcp_syscall_bad_arg_sendmsg-empty-iov.pkt24 msg_flags=0}, MSG_ZEROCOPY) = 0
28 msg_flags=0}, MSG_ZEROCOPY) = 60
H A Dtcp_zerocopy_fastopen-client.pkt4 // 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 progress)
38 +0 sendto(5, ..., 500, MSG_FASTOPEN|MSG_ZEROCOPY, ..., ...) = 500
H A Dtcp_zerocopy_batch.pkt21 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
25 +0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
H A Dtcp_zerocopy_fastopen-server.pkt4 // send data with MSG_FASTOPEN | MSG_ZEROCOPY and verify that the
25 +0 sendto(4, ..., 1000, MSG_ZEROCOPY, ..., ...) = 1000
H A Dtcp_zerocopy_small.pkt22 +0 send(4, ..., 1, MSG_ZEROCOPY) = 1
41 +0 send(4, ..., 1, MSG_ZEROCOPY) = 1
H A Dtcp_zerocopy_maxfrags.pkt49 msg_flags=0}, MSG_ZEROCOPY) = 18
91 msg_flags=0}, MSG_ZEROCOPY) = 64
H A Dtcp_zerocopy_client.pkt14 +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 i
[all...]
H A Ddevmem.rst283 The user application must use MSG_ZEROCOPY flag when sending devmem TCP. Devmem
285 to the semantics of MSG_ZEROCOPY::
336 sendmsg(socket_fd, &msg, MSG_ZEROCOPY);
342 Similar to MSG_ZEROCOPY with regular memory, the user should not modify the
347 Just as in MSG_ZEROCOPY, the kernel notifies the userspace of send completions
/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.c23 * Note: -z option on sender uses MSG_ZEROCOPY, which forces a copy when packets go through loopback interface.
71 #ifndef MSG_ZEROCOPY
72 #define MSG_ZEROCOPY 0x4000000 macro
86 static int zflg; /* zero copy option. (MSG_ZEROCOPY for sender, mmap() for receiver */
598 (size_t)wr, zflg ? MSG_ZEROCOPY : 0); in main()
/linux/net/rds/
H A Dsend.c958 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 Dsocket.h331 #define MSG_ZEROCOPY 0x4000000 /* Use user data in kernel path */ macro
/linux/net/vmw_vsock/
H A Dvirtio_transport_common.c367 * there is no MSG_ZEROCOPY flag set. in virtio_transport_send_pkt_info()
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()
398 * and MSG_ZEROCOPY mode is in use - we must allocate in virtio_transport_send_pkt_info()
401 if (info->msg && info->msg->msg_flags & MSG_ZEROCOPY && in virtio_transport_send_pkt_info()
/linux/tools/testing/vsock/
H A Dvsock_test.c1616 send_byte(fd, 1, MSG_ZEROCOPY); in test_stream_msgzcopy_leak_errq_client()
1686 * send(s, &(char){ 0 }, 1, MSG_ZEROCOPY);
1766 res = sendmsg(fd, &msg, MSG_ZEROCOPY); in test_stream_msgzcopy_leak_zcskb_client()
2281 .name = "SOCK_STREAM MSG_ZEROCOPY",
2286 .name = "SOCK_SEQPACKET MSG_ZEROCOPY",
2291 .name = "SOCK_STREAM MSG_ZEROCOPY empty MSG_ERRQUEUE",
2326 .name = "SOCK_STREAM MSG_ZEROCOPY leak MSG_ERRQUEUE",
2331 .name = "SOCK_STREAM MSG_ZEROCOPY leak completion skb",
/linux/net/ipv4/
H A Dtcp.c1082 if ((flags & MSG_ZEROCOPY) && size) { in tcp_sendmsg_locked()
1086 zc = MSG_ZEROCOPY; in tcp_sendmsg_locked()
1096 zc = MSG_ZEROCOPY; in tcp_sendmsg_locked()
1115 (!(flags & MSG_ZEROCOPY) || !sock_flag(sk, SOCK_ZEROCOPY))) { in tcp_sendmsg_locked()
1268 } else if (zc == MSG_ZEROCOPY) { in tcp_sendmsg_locked()
/linux/tools/testing/selftests/drivers/net/hw/
H A Dncdevmem.c942 ret = sendmsg(socket_fd, &msg, MSG_ZEROCOPY); in do_client()
/linux/net/ipv6/
H A Dip6_output.c1513 if ((flags & MSG_ZEROCOPY) && length) { in __ip6_append_data()

12