Linux 内核 内存管理memblock 分配器 ② ( memblock_type 内存块类型 | memblock_type 结构体成员分析 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 内核 内存管理memblock 分配器 ② ( memblock_type 内存块类型 | memblock_type 结构体成员分析 )相关的知识,希望对你有一定的参考价值。

文章目录





一、memblock_type 内存块类型



memblock 分配器 涉及到 内存块 类型 , 在 Linux 内核中 , 使用 struct memblock_type 结构体 描述 ,

struct memblock_type 结构体 定义在 Linux 内核源码的 linux-4.12\\include\\linux\\memblock.h#40 位置 ;

struct memblock_type 
	unsigned long cnt;	/* number of regions */
	unsigned long max;	/* size of the allocated array */
	phys_addr_t total_size;	/* size of all regions */
	struct memblock_region *regions;
	char *name;
;

源码路径 : linux-4.12\\include\\linux\\memblock.h#40





二、memblock_type 结构体成员分析



memblock_type 结构体成员分析 :


1、cnt 成员


cnt 成员 表示 当前 管理的 " 内存区域 " 个数 ;

	unsigned long cnt;	/* number of regions */

2、max 成员


max 成员 表示 当前 管理的 " 内存区域 " 最大个数 ;

	unsigned long max;	/* size of the allocated array */

3、total_size 成员


total_size 成员 表示 当前 所有内存块 的总大小 ;

	phys_addr_t total_size;	/* size of all regions */

4、regions 成员


regions 成员 表示 的指针 指向 " 执行内存区域 " ;

	struct memblock_region *regions;

5、name 成员


name 成员 表示 " 内存块类型 " 的名称 ;

	char *name;

以上是关于Linux 内核 内存管理memblock 分配器 ② ( memblock_type 内存块类型 | memblock_type 结构体成员分析 )的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核 内存管理memblock 分配器 ② ( memblock_type 内存块类型 | memblock_type 结构体成员分析 )

Linux 内核 内存管理memblock 分配器编程接口 ⑤ ( memblock_free 函数 | memblock_remove_range 函数 )

Linux 内核 内存管理memblock 分配器 ③ ( memblock_region 内存块区域 | memblock_region 结构体成员分析 | memblock 分配器标志位 )

Linux 内核 内存管理memblock 分配器编程接口 ① ( memblock 分配器编程接口简介 | memblock_add 函数原型分析 | memblock_add 函数源码 )

Linux 内核 内存管理memblock 分配器编程接口 ③ ( memblock_remove 函数 | memblock_remove_range 函数 )

Linux 内核 内存管理memblock 分配器编程接口 ④ ( memblock_alloc 函数 | memblock_alloc_base 函数 )