Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e9e96b39 authored by Mel Gorman's avatar Mel Gorman Committed by Linus Torvalds
Browse files

mm: allow CONFIG_MIGRATION to be set without CONFIG_NUMA or memory hot-remove



CONFIG_MIGRATION currently depends on CONFIG_NUMA or on the architecture
being able to hot-remove memory.  The main users of page migration such as
sys_move_pages(), sys_migrate_pages() and cpuset process migration are
only beneficial on NUMA so it makes sense.

As memory compaction will operate within a zone and is useful on both NUMA
and non-NUMA systems, this patch allows CONFIG_MIGRATION to be set if the
user selects CONFIG_COMPACTION as an option.

[akpm@linux-foundation.org: Depend on CONFIG_HUGETLB_PAGE]
Signed-off-by: default avatarMel Gorman <mel@csn.ul.ie>
Reviewed-by: default avatarChristoph Lameter <cl@linux-foundation.org>
Reviewed-by: default avatarRik van Riel <riel@redhat.com>
Reviewed-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Minchan Kim <minchan.kim@gmail.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3fe2011f
Loading
Loading
Loading
Loading
+14 −3
Original line number Original line Diff line number Diff line
@@ -171,6 +171,15 @@ config SPLIT_PTLOCK_CPUS
	default "999999" if DEBUG_SPINLOCK || DEBUG_LOCK_ALLOC
	default "999999" if DEBUG_SPINLOCK || DEBUG_LOCK_ALLOC
	default "4"
	default "4"


#
# support for memory compaction
config COMPACTION
	bool "Allow for memory compaction"
	select MIGRATION
	depends on EXPERIMENTAL && HUGETLB_PAGE && MMU
	help
	  Allows the compaction of memory for the allocation of huge pages.

#
#
# support for page migration
# support for page migration
#
#
@@ -180,9 +189,11 @@ config MIGRATION
	depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE
	depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE
	help
	help
	  Allows the migration of the physical location of pages of processes
	  Allows the migration of the physical location of pages of processes
	  while the virtual addresses are not changed. This is useful for
	  while the virtual addresses are not changed. This is useful in
	  example on NUMA systems to put pages nearer to the processors accessing
	  two situations. The first is on NUMA systems to put pages nearer
	  the page.
	  to the processors accessing. The second is when allocating huge
	  pages as migration can relocate pages to satisfy a huge page
	  allocation instead of reclaiming.


config PHYS_ADDR_T_64BIT
config PHYS_ADDR_T_64BIT
	def_bool 64BIT || ARCH_PHYS_ADDR_T_64BIT
	def_bool 64BIT || ARCH_PHYS_ADDR_T_64BIT