diff options
Diffstat (limited to 'mm/memory_hotplug.c')
-rw-r--r-- | mm/memory_hotplug.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 3894b65b1555..41266dc29f33 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c | |||
@@ -1219,6 +1219,7 @@ static pg_data_t __ref *hotadd_new_pgdat(int nid, u64 start) | |||
1219 | 1219 | ||
1220 | /* init node's zones as empty zones, we don't have any present pages.*/ | 1220 | /* init node's zones as empty zones, we don't have any present pages.*/ |
1221 | free_area_init_node(nid, zones_size, start_pfn, zholes_size); | 1221 | free_area_init_node(nid, zones_size, start_pfn, zholes_size); |
1222 | pgdat->per_cpu_nodestats = alloc_percpu(struct per_cpu_nodestat); | ||
1222 | 1223 | ||
1223 | /* | 1224 | /* |
1224 | * The node we allocated has no zone fallback lists. For avoiding | 1225 | * The node we allocated has no zone fallback lists. For avoiding |
@@ -1249,6 +1250,7 @@ static pg_data_t __ref *hotadd_new_pgdat(int nid, u64 start) | |||
1249 | static void rollback_node_hotadd(int nid, pg_data_t *pgdat) | 1250 | static void rollback_node_hotadd(int nid, pg_data_t *pgdat) |
1250 | { | 1251 | { |
1251 | arch_refresh_nodedata(nid, NULL); | 1252 | arch_refresh_nodedata(nid, NULL); |
1253 | free_percpu(pgdat->per_cpu_nodestats); | ||
1252 | arch_free_nodedata(pgdat); | 1254 | arch_free_nodedata(pgdat); |
1253 | return; | 1255 | return; |
1254 | } | 1256 | } |