【问题标题】:Linux version of Windows "nonpaged pool" does such a thing exist?Linux版Windows“非分页池”这样的东西存在吗?
【发布时间】:2010-10-26 14:49:35
【问题描述】:

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

Linux 如何处理需要对 RAM 进行高速独占访问的网络驱动程序(或其他驱动程序)以及“如何直接从非分页池中读取?”的问题?甚至在应用于 Linux 时也有意义?

非常感谢

related question

【问题讨论】:

  • 您的意思是使用非分页池的驱动程序吗? Windows 不向应用程序提供对非分页池的访问 - 它是内核唯一的东西。
  • 应用程序只从非分页池中读取,偶尔不够快!

标签: linux performance network-programming kernel


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-01-24
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    相关资源
    最近更新 更多