首页 > 生活分享 > 免费教学 > 由Google、OPPO、ARM、华为等大厂程序员贡献的Linux Large Folios大页在社区和产品的现状和未来

由Google、OPPO、ARM、华为等大厂程序员贡献的Linux Large Folios大页在社区和产品的现状和未来

发布时间:2024-04-12 23:31:18来源: 15210273549

Linux 内核中,一个 folio 可以只包含 1 个 page,也可以包含多个 page。当一个 folio 包含多个 page 的时候,我们称它为一个 large folio,在中文社区,我们一般称呼其为大页。采用 large folio 可潜在带来诸多好处,比如:

1. TLB miss 减小,比如许多硬件都支持 PMD 映射,可以直接把 2MB 做成一个 large folio,只占用一个 TLB entry;部分硬件支持 contiguous PTE 映射,比如 ARM64 可以让 16 个连续的 page 通过 CONT-PTE 只占一个 TLB entry。

 

2. page fault 次数减小,比如 do_anonymous_page() 在某个 PTE 的 page fault 后,直接申请一个 large folio 并映射一个 CONT-PTE 的话,则剩下的 15 个 PTE 不再发生 page fault。

 

3. 降低 LRU 的规模和内存 reclamation 的成本,以 large folio 为单位进行回收,整个 large folio 在 folio_referenced() 等的反向映射成本低于多个 small folio 单独进行 rmap 的成本;try_to_unmap_one() 理论上也如此。

 

4. 潜在的以更大粒度在 zRAM/zsmalloc 进行压缩/解压的机会,从而降低压缩/解压的 CPU 利用率、提高压缩率。比如 64KiB 的 large folio 整体压缩,比分成 16个4KiB 的 small folio 来进行压缩,有明显优势。

 

在 Linux 内核的整个内存管理中,large folios 将与 small folios(只有一个page)混合存在。比如在 LRU 链表上,挂在上面的 folio 既可能是 large,也可能是 small;一个进程的某个 VMA 里面的内存,可由 large folios 和 small folios 混合组成;文件的 pagecache 上,不同的 offset 上面对应的可能是 small folios 也可能是 large folios。

 

免费教学更多>>

有爱无碍!vivo\"声声有息\"让无声世界被听见 摆脱续航束缚!荣耀400搭载7200mAh青海湖电池创档位新高 再度火热的CCD相机,是“电子垃圾”,还是出片神器? 红米打响“价格战”,2K直屏+骁龙8Gen3+超声波指纹,低至1656元 魅族推出PANDAER超轻量合金电竞鼠标:PAW3395,499元 填补中国大陆先进芯片设计空白!3nm小米芯片要来了 华为重磅旗舰要来了,Pura 80下月发布,影像值得期待 华为Pura80下月见!12种升级细节曝光,或5499元起售 配置性能都不出众,OPPO Reno 12 系列到底在卖个啥 索尼PlayStation新战略:从卖主机到拼月活,瞄准持续盈利 五个自查二手房底细,轻松避开问题二手房 央行降准 1 万亿,房贷能省多少钱?3 个真实案例告诉你真相 若不出意外,未来超50%的人口将流入到这几个城市,房价可能反弹 荣耀印度突然关门,高管跳槽搞新品牌,阿尔卡特要翻身? 618换机别乱选,这3款全面旗舰,性能口碑双高,买错算我输 三千元内,3款公认“接近完美”的拍照手机,还有512GB大内存 618最值得买的三款千元手机,配置价格都厚道,买对不买错 这么好看的家你见过吗?美女晒出150㎡新房,简直堪称装修教科书 原本倒挂1万元的板块,新房开盘抹平了价差 新房和二手房,哪个更值得买?你绝对想不到的答案! 广东多城公积金利率下调 大湾区楼市止跌回稳 房价的理想归宿:寻找那片平衡之境 房贷断供如何保房?这份实用指南请收好! 手机发布会:vivo S30系列将于5月29日发布,有小屏、有新配色 荣耀400首发骁龙7 Gen4,性能真能越级?用户等实测结果 荣耀“全家桶”将至,手机、平板、智能穿戴等新品齐发 肖战代言,荣耀400系列预热 换了TCL K7G Max智能锁,才知道什么叫有脸就够了,秒速闪回! 魅族一口气发布8款新品,从49元到3999元,哪一款才最值得入手? AI手机杀到500元!“价格屠夫”星纪魅族入场,掀中低端市场价格战