首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux如何在内存模式下处理英特尔的光学持久内存模块?

Linux如何在内存模式下处理英特尔的光学持久内存模块?
EN

Stack Overflow用户
提问于 2021-02-19 17:44:33
回答 1查看 455关注 0票数 2

当底层系统在内存模式下使用持久内存模块(近内存DRAM缓存和NVRAM作为主内存)时,我想知道Linux内核是否做了什么特别的事情或执行了任何优化。我尝试过查看驱动程序/nvdimm,但是这里的一切似乎都围绕在different模式下使用,在应用程序直接模式中,您可以在DAX文件中使用MMAP,但是在内存模式中,它在语义和语法上与使用DRAM没有什么不同。

Linux是否采用任何优化,还是在硬件中处理一切?有人能把我链接到Linux内核中执行内存模式优化的地方吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-21 16:38:15

上游Linuxv5.2-Rc1引入了内核参数page_alloc.shuffle,这是一个布尔标志,如果以下两种条件都为真,该标志将自动启用:

  • 它不是通过将page_alloc.shuffle=0添加到内核参数列表来手动禁用的。内核运行在一个具有支持ACPI 6.2的固件的系统上,并且固件已经通过异构内存属性表(HMAT)与内核通信,即系统至少在一个内存域中有一个内存端缓存。

当启用此参数时,内核页分配器将其空闲列表随机化,以减少内存端缓存中的冲突。

自动启用它的系统示例包括部分或完全配置为在Cache模式下运行的MCDRAM的KNL/KNM,以及部分或完全配置为在内存模式下运行的持久内存的CSX/CPX。在所有这些系统上,都有一个直接映射的内存端缓存,尽管许多实现细节不同。

自由列表洗牌提供可持续的良好性能,但不一定最优或接近最优。这与一开始由于良好的内存端缓存利用率而以高性能运行不同,但随着时间的推移,由于缓存冲突的增加,性能会下降。

也就是说,我认为没有人在内存模式下测试空闲列表调整对系统性能的影响,即使它是自动启用的。

目前没有其他在内核中接受的内存模式的潜在优化。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66282496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档