深度剖析 Linux 伙伴系统的设计与实现
内容简介:
在上篇文章 《深入理解 Linux 物理内存分配全链路实现》 中,笔者为大家详细介绍了 Linux 内存分配在内核中的整个链路实现:
但是当内核执行到 get_page_from_freelist 函数,准备进入伙伴系统执行具体内存分配动作的相关逻辑,笔者考虑到文章篇幅的原因,并没有过多的着墨,算是留下了一个小尾巴。
那么本文笔者就为大家完整地介绍一下伙伴系统这部分的内容,我们将基于内核 5.4 版本的源码来详细的讨论一下伙伴系统在内核中的设计与实现。
1. 伙伴系统的核心数据结构
如上图所示,内核会为 NUMA 节点中的每个物理内存区域 zone 分配一个伙伴系统用于管理该物理内存区...
查看原文
暂无评论...