Skip to the content.

net zero copy

https://www.kernel.org/doc/html/latest/networking/msg_zerocopy.html

net/core/skbuff.c

测试代码在 vn/code/src/c/iouring/op-send-zc.c

@[
        loopback_xmit+5
        dev_hard_start_xmit+96
        __dev_queue_xmit+1744
        ip_finish_output2+587
        __ip_queue_xmit+873
        __tcp_transmit_skb+2326
        tcp_write_xmit+641
        __tcp_push_pending_frames+57
        tcp_sendmsg_locked+1992 在这里去调用 -> skb_zerocopy_iter_stream+68 -> io_link_skb+5
        tcp_sendmsg+47
        sock_sendmsg+262
        io_send_zc+150
        __io_issue_sqe+56
        io_issue_sqe+55
        io_submit_sqes+274
        __do_sys_io_uring_enter+516
        do_syscall_64+126
        entry_SYSCALL_64_after_hwframe+118
]: 1

也就是在组装 skb 的时候,只是使用用户态的内存来拷贝。 算是一个软件上折中优化。

本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。