https://github.com/torvalds/linux
Revision 76af6a054da4055305ddb28c5eb151b9ee4f74f9 authored by Dave Hansen on 18 October 2021, 22:15:32 UTC, committed by Linus Torvalds on 19 October 2021, 06:22:02 UTC
Once upon a time, the node demotion updates were driven solely by memory
hotplug events.  But now, there are handlers for both CPU and memory
hotplug.

However, the #ifdef around the code checks only memory hotplug.  A
system that has HOTPLUG_CPU=y but MEMORY_HOTPLUG=n would miss CPU
hotplug events.

Update the #ifdef around the common code.  Add memory and CPU-specific
#ifdefs for their handlers.  These memory/CPU #ifdefs avoid unused
function warnings when their Kconfig option is off.

[arnd@arndb.de: rework hotplug_memory_notifier() stub]
  Link: https://lkml.kernel.org/r/20211013144029.2154629-1-arnd@kernel.org

Link: https://lkml.kernel.org/r/20210924161255.E5FE8F7E@davehans-spike.ostc.intel.com
Fixes: 884a6e5d1f93 ("mm/migrate: update node demotion order on hotplug events")
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: "Huang, Ying" <ying.huang@intel.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Wei Xu <weixugc@google.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: David Rientjes <rientjes@google.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Yang Shi <yang.shi@linux.alibaba.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 295be91
Raw File
Tip revision: 76af6a054da4055305ddb28c5eb151b9ee4f74f9 authored by Dave Hansen on 18 October 2021, 22:15:32 UTC
mm/migrate: add CPU hotplug to demotion #ifdef
Tip revision: 76af6a0
Kconfig
# SPDX-License-Identifier: GPL-2.0-only

menu "Data Access Monitoring"

config DAMON
	bool "DAMON: Data Access Monitoring Framework"
	help
	  This builds a framework that allows kernel subsystems to monitor
	  access frequency of each memory region. The information can be useful
	  for performance-centric DRAM level memory management.

	  See https://damonitor.github.io/doc/html/latest-damon/index.html for
	  more information.

config DAMON_KUNIT_TEST
	bool "Test for damon" if !KUNIT_ALL_TESTS
	depends on DAMON && KUNIT=y
	default KUNIT_ALL_TESTS
	help
	  This builds the DAMON Kunit test suite.

	  For more information on KUnit and unit tests in general, please refer
	  to the KUnit documentation.

	  If unsure, say N.

config DAMON_VADDR
	bool "Data access monitoring primitives for virtual address spaces"
	depends on DAMON && MMU
	select PAGE_IDLE_FLAG
	help
	  This builds the default data access monitoring primitives for DAMON
	  that works for virtual address spaces.

config DAMON_VADDR_KUNIT_TEST
	bool "Test for DAMON primitives" if !KUNIT_ALL_TESTS
	depends on DAMON_VADDR && KUNIT=y
	default KUNIT_ALL_TESTS
	help
	  This builds the DAMON virtual addresses primitives Kunit test suite.

	  For more information on KUnit and unit tests in general, please refer
	  to the KUnit documentation.

	  If unsure, say N.

config DAMON_DBGFS
	bool "DAMON debugfs interface"
	depends on DAMON_VADDR && DEBUG_FS
	help
	  This builds the debugfs interface for DAMON.  The user space admins
	  can use the interface for arbitrary data access monitoring.

	  If unsure, say N.

config DAMON_DBGFS_KUNIT_TEST
	bool "Test for damon debugfs interface" if !KUNIT_ALL_TESTS
	depends on DAMON_DBGFS && KUNIT=y
	default KUNIT_ALL_TESTS
	help
	  This builds the DAMON debugfs interface Kunit test suite.

	  For more information on KUnit and unit tests in general, please refer
	  to the KUnit documentation.

	  If unsure, say N.

endmenu
back to top