diff options
Diffstat (limited to 'mm/memory_hotplug.c')
-rw-r--r-- | mm/memory_hotplug.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 252e1dbbed86..c5f7fe199a60 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/stop_machine.h> | 31 | #include <linux/stop_machine.h> |
32 | #include <linux/hugetlb.h> | 32 | #include <linux/hugetlb.h> |
33 | #include <linux/memblock.h> | 33 | #include <linux/memblock.h> |
34 | #include <linux/bootmem.h> | ||
34 | 35 | ||
35 | #include <asm/tlbflush.h> | 36 | #include <asm/tlbflush.h> |
36 | 37 | ||
@@ -1096,6 +1097,14 @@ static pg_data_t __ref *hotadd_new_pgdat(int nid, u64 start) | |||
1096 | build_all_zonelists(pgdat, NULL); | 1097 | build_all_zonelists(pgdat, NULL); |
1097 | mutex_unlock(&zonelists_mutex); | 1098 | mutex_unlock(&zonelists_mutex); |
1098 | 1099 | ||
1100 | /* | ||
1101 | * zone->managed_pages is set to an approximate value in | ||
1102 | * free_area_init_core(), which will cause | ||
1103 | * /sys/device/system/node/nodeX/meminfo has wrong data. | ||
1104 | * So reset it to 0 before any memory is onlined. | ||
1105 | */ | ||
1106 | reset_node_managed_pages(pgdat); | ||
1107 | |||
1099 | return pgdat; | 1108 | return pgdat; |
1100 | } | 1109 | } |
1101 | 1110 | ||