mm: fix swapped Movable and Reclaimable in /proc/pagetypeinfo
Commit016c13daa5
("mm, page_alloc: use masks and shifts when converting GFP flags to migrate types") has swapped MIGRATE_MOVABLE and MIGRATE_RECLAIMABLE in the enum definition. However, migratetype_names wasn't updated to reflect that. As a result, the file /proc/pagetypeinfo shows the counts for Movable as Reclaimable and vice versa. Additionally, commit0aaa29a56e
("mm, page_alloc: reserve pageblocks for high-order atomic allocations on demand") introduced MIGRATE_HIGHATOMIC, but did not add a letter to distinguish it into show_migration_types(), so it doesn't appear in the listing of free areas during page alloc failures or oom kills. This patch fixes both problems. The atomic reserves will show with a letter 'H' in the free areas listings. Fixes:016c13daa5
("mm, page_alloc: use masks and shifts when converting GFP flags to migrate types") Fixes:0aaa29a56e
("mm, page_alloc: reserve pageblocks for high-order atomic allocations on demand") Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9516a18a9a
commit
475a2f905d
|
@ -3647,8 +3647,9 @@ static void show_migration_types(unsigned char type)
|
||||||
{
|
{
|
||||||
static const char types[MIGRATE_TYPES] = {
|
static const char types[MIGRATE_TYPES] = {
|
||||||
[MIGRATE_UNMOVABLE] = 'U',
|
[MIGRATE_UNMOVABLE] = 'U',
|
||||||
[MIGRATE_RECLAIMABLE] = 'E',
|
|
||||||
[MIGRATE_MOVABLE] = 'M',
|
[MIGRATE_MOVABLE] = 'M',
|
||||||
|
[MIGRATE_RECLAIMABLE] = 'E',
|
||||||
|
[MIGRATE_HIGHATOMIC] = 'H',
|
||||||
#ifdef CONFIG_CMA
|
#ifdef CONFIG_CMA
|
||||||
[MIGRATE_CMA] = 'C',
|
[MIGRATE_CMA] = 'C',
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -921,8 +921,8 @@ static void walk_zones_in_node(struct seq_file *m, pg_data_t *pgdat,
|
||||||
#ifdef CONFIG_PROC_FS
|
#ifdef CONFIG_PROC_FS
|
||||||
static char * const migratetype_names[MIGRATE_TYPES] = {
|
static char * const migratetype_names[MIGRATE_TYPES] = {
|
||||||
"Unmovable",
|
"Unmovable",
|
||||||
"Reclaimable",
|
|
||||||
"Movable",
|
"Movable",
|
||||||
|
"Reclaimable",
|
||||||
"HighAtomic",
|
"HighAtomic",
|
||||||
#ifdef CONFIG_CMA
|
#ifdef CONFIG_CMA
|
||||||
"CMA",
|
"CMA",
|
||||||
|
|
Loading…
Reference in New Issue