netlink AF_NETLINK with CONFIG_NETLINK_MMAP

来源:互联网 发布:mysql 时间小于等于 编辑:程序博客网 时间:2024/04/30 12:31
===============================================================================================================


--- index:


---------------------------------------------------------------------------------------------------------------


=> why write this doc?


---------------------------------------------------------------------------------------------------------------


=> $(netlink_mmap) theory # CONFIG_NETLINK_MMAP


---------------------------------------------------------------------------------------------------------------


=> $(netlink_map) kdoc: <<$(linux)/Documentation/networking/netlink_mmap.txt>># noted version


=> <tip>: $(netlink_map) kdoc中有一个完整的user-level code example# 反而可以作为$(packet_mmap)的user-level code的参考。


---------------------------------------------------------------------------------------------------------------


===============================================================================================================


@@ why write this doc?


 最近在看:


$(packet_mmap)# AF_PACKET with CONFIG_PACKET_MMAP




 在看$(packet_mmap) kdoc: <<$(linux)/Documentation/networking/packet_mmap.txt>>之前,就先看到了:


$(netlink_mmap) kdoc:<<$(linux)/Documentation/networking/netlink_mmap.txt>>




===============================================================================================================


@@ $(netlink_mmap) theory


 netlink socket也有这样的mmap()支持:


kernel-level和user-level共享shared memory blocks。


--- user-level将shared memory block映射到user-level virtual address space中。


kernel-level直接将netlink message,generate到shared memory blocks中。


user-level直接访问shared memory blocks中的netlink message。


--- 这样就省略掉了一次recvmsg() syscall,和一次copy_to_user() operation。


 所以,提升了performance。




===============================================================================================================


@@ $(netlink_map) kdoc: <<$(linux)/Documentation/networking/netlink_mmap.txt>>


===============================================================================================================


@@-@ <tip>: $(netlink_map) kdoc中有一个完整的user-level code example# 也可以作为$(packet_mmap)的user-level code的参考。




===============================================================================================================


@@ end
0 0
原创粉丝点击