1月前
[linux内存管理] 第036篇 CMA内存分配器
面对硬件DMA需求和内存碎片化问题,CMA机制通过“保留但共享”的设计,动态预留物理连续内存并允许系统共享使用,按需自动迁移页面确保设备可获取大块连续空间。CMA通过struct cma等核心数据结构灵活配置,可支持多块物理区域,极大提升连续内存的分配效率。
2024-11-29
[linux内存管理] 第009篇 reserved-memory详解
随着内核运行,物理内存碎片化问题会影响设备使用。为此,内核提供 reserved memory 机制,为特定设备预留内存,提高内存利用率。本文分析了 reserved memory 的配置和解析过程,包括 DTS 中的属性、静态/动态预留、no-map 和 reusable 等概念。内核解析 reserved memory 节点时,会根据属性值确定内存的 base 和 size,并进行相应的初始化操作。