前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux 内核 内存管理】memblock 分配器 ② ( memblock_type 内存块类型 | memblock_type 结构体成员分析 )

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

作者头像
韩曙亮
发布2023-03-30 14:55:35
2930
发布2023-03-30 14:55:35
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、memblock_type 内存块类型


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

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

代码语言:javascript
复制
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 成员 表示 当前 管理的 " 内存区域 " 个数 ;

代码语言:javascript
复制
	unsigned long cnt;	/* number of regions */

2、max 成员

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

代码语言:javascript
复制
	unsigned long max;	/* size of the allocated array */

3、total_size 成员

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

代码语言:javascript
复制
	phys_addr_t total_size;	/* size of all regions */

4、regions 成员

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

代码语言:javascript
复制
	struct memblock_region *regions;

5、name 成员

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

代码语言:javascript
复制
	char *name;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、memblock_type 内存块类型
  • 二、memblock_type 结构体成员分析
    • 1、cnt 成员
      • 2、max 成员
        • 3、total_size 成员
          • 4、regions 成员
            • 5、name 成员
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档