linux – vmsplice(2)的语义是什么,有没有送礼?
我正在尝试理解vmsplice(2)系统调用的功能(手册页
here).我有两个关于SPLICE_F_GIFT标志效果的问题:
>手册页说,一旦您将页面提供给内核,就不能再次修改内存.这是否意味着内存永远固定,或者它可能是指可以通过赠送过程而不是物理内存取消映射的虚拟内存?换句话说,这个的典型用途是什么样的? 解决方法
您承诺不修改页面.不是页面的虚拟寻址.对于大多数用例,建议操作类似于: mmap read vmsplice munmap 通常,您希望在malloc上使用mmap,因为您希望确保拥有一个页面,而不仅仅是4096字节的RAM.如果您的分配器确定更有效,那么它可以位于2MB或1GB HUGE_PAGE的中间.
是 内核中的大多数缓冲区都是管道.或者真正的管道由与缓冲区相同的数据结构表示. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |