[linux内存管理] 第014篇 /proc/zoneinfo的详细解析 6月前查看 评论
[linux内存管理] 第014篇 /proc/zoneinfo的详细解析

0. 前言 内存管理是一个相对复杂的内核模块,错综复杂的 数据结构 和管理逻辑。 Linux 内核为了帮助开发者从宏观上把握内存的使用情况,在几大核心数据结构中都有相应的计数统计,如物理页面使用情况、伙伴系统分配情况、内存管理区的页面使用情况、内存回收扫描回收情况、内存规整触发情况等等。 在 sta

[linux内存管理] 第009篇 reserved-memory详解 7月前查看 评论
[linux内存管理] 第009篇 reserved-memory详解

本文主要分析了Linux内核中预留内存(reserved memory)的配置和解析过程,以下是文章摘要: 1. 引言部分指出内核中物理内存趋向于碎片化,为了满足特定设备对连续物理内存的需求,引入了预留内存机制。 2. 阐述了DTS中reserved-memory节点的配置方法,包括静态预留和动态预留两种方式,以及相关的属性如#address-cells、#size-cells、ranges、no-map、reusable等。 3. 详细解析了内核对reserved-memory节点的解析过程,包括寻找根节点、解析子节点、处理reg和size属性、分配内存等。 4. 介绍了reserved_mem数组,用于存储所有预留内存节点的信息,以及相关的初始化和分配函数。 5. 小结部分总结了reserved-memory的配置和解析流程,以及CMA作为特殊预留内存的处理方式。 总体来说,文章详细地介绍了Linux内核中预留内存的配置方法、解析过程及其在内核中的管理方式。