diff options
| author | Tang Chen <[email protected]> | 2013-02-23 00:33:18 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-02-24 01:50:13 +0000 |
| commit | a1e565aa3cfc7c6252cabc93de8391d12b9216aa (patch) | |
| tree | f02974503acc8b61a7d8857c36dfb8b6cf7897ab /mm/sparse.c | |
| parent | memory-hotplug: free node_data when a node is offlined (diff) | |
| download | kernel-a1e565aa3cfc7c6252cabc93de8391d12b9216aa.tar.gz kernel-a1e565aa3cfc7c6252cabc93de8391d12b9216aa.zip | |
memory-hotplug: do not allocate pgdat if it was not freed when offline.
Since there is no way to guarentee the address of pgdat/zone is not on
stack of any kernel threads or used by other kernel objects without
reference counting or other symchronizing method, we cannot reset
node_data and free pgdat when offlining a node. Just reset pgdat to 0
and reuse the memory when the node is online again.
The problem is suggested by Kamezawa Hiroyuki. The idea is from Wen
Congyang.
NOTE: If we don't reset pgdat to 0, the WARN_ON in free_area_init_node()
will be triggered.
[[email protected]: fix warning when CONFIG_NEED_MULTIPLE_NODES=n]
[[email protected]: fix the warning again again]
Signed-off-by: Tang Chen <[email protected]>
Reviewed-by: Wen Congyang <[email protected]>
Cc: KOSAKI Motohiro <[email protected]>
Cc: Jiang Liu <[email protected]>
Cc: Jianguo Wu <[email protected]>
Cc: Kamezawa Hiroyuki <[email protected]>
Cc: Lai Jiangshan <[email protected]>
Cc: Wu Jianguo <[email protected]>
Cc: Yasuaki Ishimatsu <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'mm/sparse.c')
0 files changed, 0 insertions, 0 deletions
