写点什么

5.10 版本的 linux 内核 create_boot_cache 函数解析

作者:linux大本营
  • 2023-04-26
    湖南
  • 本文字数:554 字

    阅读完需:约 2 分钟

create_boot_cache 函数是 Linux 内核中用于初始化系统引导时的内存对象缓存(bootmem)的函数。

在 Linux 内核启动时,需要进行初始化一系列的数据结构,如页表、中断向量等等。由于此时内存系统还没有初始化,因此需要使用引导管理程序 bootloader 提供的内存分配接口进行初始化。这个接口就是 bootmem 池。

create_boot_cache 函数的作用就是初始化 bootmem 池,并创建用于分配 bootmem 的缓存。在初始化过程中,函数会通过调用 kmalloc 函数从系统内存中分配 bootmem 缓存空间,并调用 malloc_sizes_init 函数初始化 malloc_size 数组。

此外,create_boot_cache 函数还会初始化一个名为 bootmem_data 的结构体,用于管理 bootmem 缓存。其中,结构体中包含三个成员:map、node_bootmem_map 和 pages。

map 成员是一个数组,用于记录 bootmem 池中是否已经分配。它的每一个元素对应一个物理页,如果该物理页已经分配,则 map 中该元素值为 1,否则为 0。node_bootmem_map 成员是一个指针数组,用于记录每个 NUMA 节点的 bootmem 池地址。pages 成员则是用于存储所有分配的内存页的指针。

总之,create_boot_cache 函数的作用是在系统引导时初始化 bootmem 池,并为分配 bootmem 提供优化缓存。如果你想深入了解相关细节,可以查阅内核代码和文档。


相关技术视频教程:c/c++ linux服务器开发/后台架构师免费学习地址

c/c++后端技术交流群:579733396

用户头像

还未添加个人签名 2020-11-26 加入

C/C++linux服务器开发群 812855908

评论

发布
暂无评论
5.10版本的linux内核create_boot_cache函数解析_Linux内核_linux大本营_InfoQ写作社区