前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux 内核 内存管理】分区伙伴分配器 ④ ( 备用内存区域列表排序方式 | 节点优先顺序 | 区域优先顺序 | 排序方式优缺点 | 默认排序方式 )

【Linux 内核 内存管理】分区伙伴分配器 ④ ( 备用内存区域列表排序方式 | 节点优先顺序 | 区域优先顺序 | 排序方式优缺点 | 默认排序方式 )

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

文章目录

在上一篇博客 【Linux 内核 内存管理】分区伙伴分配器 ③ ( 备用内存区域列表 | ZONELIST_FALLBACK 枚举 | zoneref 结构体 | 备用内存区域借用物理页规则 ) 中 , 介绍了 UMA 系统的 备用内存区域列表 :

UMA 系统的 每个 内存节点 中 , 都有

2

个 备用内存区域列表 ,

① 一个包含了 所有内存节点 的 备用内存区域列表 ,

② 另外一个 包含了 当前内存节点 的 备用区域列表 ;

一、备用内存区域列表排序方式 ( 节点优先顺序 | 区域优先顺序 )


包含了 所有内存节点 的 备用内存区域列表 , 有

2

种排序方式 :

① 节点优先顺序 : 先 根据 " 节点距离 “ 由远到近 进行排序 , 然后根据 ” 区域类型 " 由高到低 进行排序 ;

② 区域优先顺序 : 先 根据 " 区域类型 " 由高到低 进行排序 , 然后 根据 " 节点距离 " 由远到近 进行排序 ;

二、备用内存区域列表排序方式优缺点 ( 节点优先顺序 | 区域优先顺序 )


理想的情况应该是 既选择 距离较近的内存 , 又能减少 低区域类型内存 耗尽的概率 ;

① 节点优先顺序 : 该排序可以 优先 选择 距离较近 的内存 , 但是可能会在 高区域类型内存 耗尽前 使用 低区域类型内存 ;

② 区域优先顺序 : 该排序 减少 低区域类型内存 耗尽的概率 , 但是不能保证选择的内存距离最近 ;

三、备用内存区域列表默认排序方式


默认排序方法 : 系统会自动选择 最优 排序策略 ;

64

位系统 需要用到的 DMA 和 DMA32 类型区域较少 , 选择 " 节点优先顺序 " ;

32

位系统 选择 " 区域优先顺序 " ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、备用内存区域列表排序方式 ( 节点优先顺序 | 区域优先顺序 )
  • 二、备用内存区域列表排序方式优缺点 ( 节点优先顺序 | 区域优先顺序 )
  • 三、备用内存区域列表默认排序方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档