Linux版本的Windows“非分页池”确实存在这样的事情吗?

时间:2010-10-26 14:49:36

标签: linux performance network-programming kernel

我一直在使用Windows应用程序,该应用程序从“非分页池”中读取以提高性能。在这种情况下,非分页池是内存区域,网络驱动程序在将数据从线路中抓取时写入数据。

Linux如何处理需要高速独占访问RAM的网络驱动程序(或其他驱动程序)的内存,并提出“我如何直接从非分页池中读取?”的问题。应用于Linux时甚至有意义吗?

非常感谢

related question

1 个答案:

答案 0 :(得分:3)

Infiniband等网络支持RDMA,这需要能够阻止对进程中某些页面的分页。请参阅mlock(),mlockall(),munlock(),munlockall()函数。

除此之外,我认为本身并不存在“非分页池”的概念。通常,内核内存是AFAIK不可分页,但除了用mlock()等锁定的内存以外的所有用户内存都是。