linux内核那些事之物理内存模型之SPARSE(3)

本文介绍了Linux内核中的SPARSE内存模型,旨在解决FLAT和DISCONTIGMEM模型的问题。SPARSE通过将内存划分为section进行管理,减少了因空洞造成的浪费,并引入了vmemmap提高转换效率。内容涵盖了mem_section管理、PAGE与PFN转换的详细过程,以及page_to_pfn和pfn_to_page的转换核心思路。
摘要由CSDN通过智能技术生成

在内核FLAT和DISCONTIGMEM管理模型中,其实一直都存在两个问题

  • 管理物理内存的数据结构本身占用内存较多,不使用于较大内存情况
  • 无法解决空洞问题,不管是FLAT还是SPARCE模型都无法解决一个节点内的内存空洞问题,必须是一段连续空间即mem_map数组就很大,即使中间存在黑洞,mem_map数组必须也得申请,比较浪费空间

基于上述两个主要问题linux 物理内存模型技术演进到SPARCE模型 本意是稀疏即不再是连续的,space模式是从https://lwn.net/Articles/134804/开引入到内核中,下面说明了该模型的几个优势:

Sparsemem abstracts the use of discontiguous mem_maps[].This kind of mem_map[] is needed by discontiguous memory machines (like in the old CONFIG_DISCONTIGMEM case) as well as memory hotplug systems.Sparsemem replaces DISCONTIGMEM when enabled, and it is hoped that it can eventually becom

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Huo的藏经阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值