]> Git Repo - linux.git/commit
memory-hotplug: implement register_page_bootmem_info_section of sparse-vmemmap
authorYasuaki Ishimatsu <[email protected]>
Sat, 23 Feb 2013 00:33:00 +0000 (16:33 -0800)
committerLinus Torvalds <[email protected]>
Sun, 24 Feb 2013 01:50:12 +0000 (17:50 -0800)
commit46723bfa540f0a1e494476a1734d03626a0bd1e0
treec8d3ef712dd67b45c9334f04edeec4aa981a2e29
parent24d335ca3606b610ec69c66a1e42760c96d89470
memory-hotplug: implement register_page_bootmem_info_section of sparse-vmemmap

For removing memmap region of sparse-vmemmap which is allocated bootmem,
memmap region of sparse-vmemmap needs to be registered by
get_page_bootmem().  So the patch searches pages of virtual mapping and
registers the pages by get_page_bootmem().

NOTE: register_page_bootmem_memmap() is not implemented for ia64,
      ppc, s390, and sparc.  So introduce CONFIG_HAVE_BOOTMEM_INFO_NODE
      and revert register_page_bootmem_info_node() when platform doesn't
      support it.

      It's implemented by adding a new Kconfig option named
      CONFIG_HAVE_BOOTMEM_INFO_NODE, which will be automatically selected
      by memory-hotplug feature fully supported archs(currently only on
      x86_64).

      Since we have 2 config options called MEMORY_HOTPLUG and
      MEMORY_HOTREMOVE used for memory hot-add and hot-remove separately,
      and codes in function register_page_bootmem_info_node() are only
      used for collecting infomation for hot-remove, so reside it under
      MEMORY_HOTREMOVE.

      Besides page_isolation.c selected by MEMORY_ISOLATION under
      MEMORY_HOTPLUG is also such case, move it too.

[[email protected]: put register_page_bootmem_memmap inside CONFIG_MEMORY_HOTPLUG_SPARSE]
[[email protected]: introduce CONFIG_HAVE_BOOTMEM_INFO_NODE and revert register_page_bootmem_info_node()]
[[email protected]: remove the arch specific functions without any implementation]
[[email protected]: mm/Kconfig: move auto selects from MEMORY_HOTPLUG to MEMORY_HOTREMOVE as needed]
[[email protected]: fix defined but not used warning]
Signed-off-by: Wen Congyang <[email protected]>
Signed-off-by: Yasuaki Ishimatsu <[email protected]>
Signed-off-by: Tang Chen <[email protected]>
Reviewed-by: Wu Jianguo <[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: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Signed-off-by: Michal Hocko <[email protected]>
Signed-off-by: Lin Feng <[email protected]>
Signed-off-by: David Rientjes <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
arch/ia64/mm/discontig.c
arch/powerpc/mm/init_64.c
arch/sparc/mm/init_64.c
arch/x86/mm/init_64.c
include/linux/memory_hotplug.h
include/linux/mm.h
mm/Kconfig
mm/memory_hotplug.c
This page took 0.065997 seconds and 4 git commands to generate.