migratetype的作用:
由于内存在申请的时候有些是movable,有些是unmovable,为了让伙伴系统可以更高效的工作,在伙伴系统中将不同类型的migratetype放在不同的链表中
使用 cat /proc/pagetypeinfo
夜神模拟器migratetype信息
ubuntu migratetype信息
MigrateType类型
mmzone.h(include/linux)
类型 | 含义 | 使用场景 |
---|---|---|
MIGRATE_UNMOVABLE | 不可移动的物理内存 | 内核镜像区域的物理内存 |
MIGRATE_MOVABLE | 可迁移的物理内存 | 用户空间的物理内存 |
MIGRATE_RECLAIMABLE | 不清楚 | 不清楚 |
MIGRATE_PCPTYPES | 不清楚 | 不清楚 |
MIGRATE_HIGHATOMIC | 不清楚 | 不清楚 |
MIGRATE_CMA | CMA内存 | 大块内存管理空间,其内存管理有单独管理模块,在空闲的时候可以让伙伴系统管理标记为MIGRATE_CMA的内存只能被MIGRATE_MOVABLE的内存申请,在CMA需要的情况下会将使用的内存从该内存中置换出去,以优先满足特定的大块内存的申请 |
MIGRATE_ISOLATE | CMA内存 | 被标记为MIGRATE_ISOLATE表示该内存区域不再可以通过伙伴系统对内存进行申请,由CMA内存管理系统接管 |