首页 > 生活分享 > 免费教学 > 由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。

 

免费教学更多>>

20多w预算到底选凯迪拉克CT5还是林肯z?网友“无脑选就对了!” 问界M8申报图来了,30-40万区间,花小钱办大事 全新7座SUV上市!长得很霸气,鲲鹏动力,8.99万售价 雅阁换脸了?这波操作,我有点上头! 自动挡轿车油耗排行榜,小型车爱好者的天堂,飞度第7,宝来第10 河北长城:隐匿的华夏脊梁,文化的璀璨星河 一天分享一个汽车品牌-本田(HONDA) 全浙江第一贵奔驰G,比幻影还贵468万,车门是电吸的,中国就1辆 一汽-大众2024年终端销售整车165.91万辆 比亚迪新款中大型高端MPV,比亚迪夏DM—i又将卖爆? 搭载Momenta高阶智驾 东风日产N7申报图曝光 2.0T中置引擎加持:丰田GR Yaris M原型车亮相 豪华与实用的完美平衡——奥迪A6L车主体验之路 2024年最强的安卓游戏平板排行榜 这次的电脑故障,估计很多维修老手也无从下手! 三星显示取得包括劣化补偿装置的显示装置专利 三星Galaxy S25系列手机高清渲染图曝光:骁龙8至尊版芯片 惠普Thunderbolt 4 Ultra G6拓展坞亮相,可提供180/280W输出 2024全球PC市场:联想第一,苹果第四 联想拯救者宣布推出Angry Miao联名款磁轴键盘ice ring 63 RT “向新同往,合创未来”2025年融安县青年创业创新协会新春年会圆满举行 中国有数 | 增量贡献度93%!中国新能源汽车加速领跑全球 CCTV5直播,浙江稠州大将回归,北京北汽拒绝连败!上演强强对抗 上汽与宁德时代深化战略合作,上汽大众去年全年销售120万辆 小鹏G7完成工信部申报,官方称“或许是25万级最能打的SUV” 五年破50万交付!理想汽车如何从新势力到豪华“顶流” 蔚来纯电小车firefly萤火虫完成申报:4米车身、2.6米轴距 合创“暴雷”后续:广汽与股东支付员工工资,埃安提供售后服务 广汽与华为的再次合作能够腾飞吗? 2025为何看涨广汽埃安?三大品牌基因加持掌握爆款密码