小米 HyperOS 2 的动态内存页是如何实现的?

查看 49|回复 4
作者:Yadomin   
在极客湾评测小米 15 的视频中,提到了 HyperOS 2.0 对内存管理的优化。


看到这里感觉非常迷惑,印象中 Linux 的页大小是一个固定的值,和 CPU 的支持相关,一般都是用 4K ,Android 15 要改成 16K ,小米是怎么实现动态的页大小的?
另外这么改不会造成兼容性问题吗? Android 15 要改成 16k 页都需要一些应用重新编译,动态的岂不是更难适配?
NealLason   
其实就是 Huge TLB 技术,ARM MMU 硬件支持的。
https://docs.kernel.org/admin-guide/mm/hugetlbpage.html
Yadomin
OP
  
@NealLason HugeTLB 不是应该大的多吗🤔

Chinsung   
OS 要实现动态页的话,OS 在整个页面汰换和分配算法上要做非常巨大并且深入的改变,按照他的这种说法,应用层申请内存的部分大概率也得重写(指定具体大小的页,或者由 OS 经过一定类似学习的算法来改变给这个应用分配的大小),这块其实想做好难度非常大,不然也不会那么多 OS 都还是固定页+大页支持了
cooltechbs   
2M 超大页不新鲜了,把固定 4K 页改成固定 16K 也不复杂(我记得苹果 M 系列就是用的 16K ),但是要实现 4/8/16/32/64K )自适应,我第一反应是有这个必要吗?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部