您的位置:首页 > 运维架构 > Linux

Linux kernel内存管理之free_area

2017-03-15 08:15 232 查看
 

zone 空闲页管理:

/* Free memory management - zoned buddy allocator.  */
#ifndef CONFIG_FORCE_MAX_ZONEORDER
#define MAX_ORDER 11
#else
#define MAX_ORDER CONFIG_FORCE_MAX_ZONEORDER
#endif
#define MAX_ORDER_NR_PAGES (1 << (MAX_ORDER - 1))

 

 /* free areas of different sizes */
 struct free_area free_area[MAX_ORDER];

   Order        MIGRATE_TYPES
---------------  ---->  ------------------
|free_area:0  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------- ---->  ------------------
|free_area:1  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------  ---->  ------------------
|free_area:2  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------- ---->  ------------------
|free_area:3  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------  ---->  ------------------
|free_area:4  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------- ---->  ------------------
|free_area:5  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------  ---->  ------------------
|free_area:6  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------- ---->  ------------------
|free_area:7  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------  ---->  ------------------
|free_area:8  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------- ---->  ------------------
|free_area:9  |      |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------
---------------  ---->  ------------------
|free_area:10  |     |MIGRATE_UNMOVABLE  |
---------------       |MIGRATE_MOVABLE    |
                      |MIGRATE_RECLAIMABLE|
                      |MIGRATE_PCPTYPES   |
                      |MIGRATE_CMA        |
                      |MIGRATE_ISOLATE    |
                      |   nr_free         |
                      ---------------------

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: