我一直在使用一个windows应用程序,它从“非分页池”中读取数据以提高性能。在这种情况下,非分页池是网络驱动程序从线路上获取数据时写入数据的内存区域。
Linux如何处理需要对RAM进行高速独占访问的网络驱动程序(或其他驱动程序)的内存,以及“如何直接从非分页池中读取?”甚至当应用到Linux时也有意义吗?
非常感谢
related question
最佳答案
某些网络(如infiniband)支持rdma,这要求能够阻止进程中某些页面的分页。请参见mlock()、mlockall()、munlock()、munlockall()函数。
除此之外,我不认为有一个概念“非老龄池”,本身。一般来说,内核内存是afaik不可分页的,但是除了用mlock()锁定的用户内存以外的所有用户内存都是。