我正在寻找一种在内核模块中分配大页面(2M 或 1G)的方法(我使用的是内核版本 4.15.0)。
在用户空间中,我可以挂载hugetlbfs
文件系统,然后使用mmap
(参见,例如,https ://blog.kevinhu.me/2018/07/01/01-Linux-Hugepages/ )分配大页面。在内核空间中是否有类似的方法可以做到这一点?
我知道我可以先在用户空间中分配它们,然后使用 将它们传递给内核get_user_pages
,如Sequential access to hugepages in kernel driver 中所述。但是,我正在寻找一种更直接的方式来分配它们,因为我只需要在内核空间中使用它们。