>手册页说,一旦您将页面提供给内核,就不能再次修改内存.这是否意味着内存永远固定,或者它可能是指可以通过赠送过程而不是物理内存取消映射的虚拟内存?换句话说,这个的典型用途是什么样的?
>如果我没有设置SPliCE_F_GIFT,那么vmsplice(2)是不是像writev(2)这样的矢量化写系统调用?
Does that mean the memory is pinned forever,or does it perhaps refer to virtual memory that can be unmapped by the gifting process,rather than physical memory? In other words,what does a typical use of this look like?
您承诺不修改页面.不是页面的虚拟寻址.对于大多数用例,建议 *** 作类似于:
mmapreadvmsplicemunmap
通常,您希望在malloc上使用mmap,因为您希望确保拥有一个页面,而不仅仅是4096字节的RAM.如果您的分配器确定更有效,那么它可以位于2MB或1GB HUGE_PAGE的中间.
If I don’t set SPliCE_F_GIFT,is
vmsplice(2)
any different than a vectorized write syscall likewritev(2)
?
是
内核中的大多数缓冲区都是管道.或者真正的管道由与缓冲区相同的数据结构表示.
总结以上是内存溢出为你收集整理的linux – vmsplice(2)的语义是什么,有没有送礼?全部内容,希望文章能够帮你解决linux – vmsplice(2)的语义是什么,有没有送礼?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)