Commit 0acfc656 authored by SeongJae Park's avatar SeongJae Park Committed by Andrew Morton
Browse files

mm/damon/Kconfig: set DAMON_{VADDR,PADDR,SYSFS} default to DAMON

Patch series "mm/damon: build-enable essential DAMON components by
default".

As of this writing, multiple major distros including Alma, Amazon,
Android, CentOS, Debian, Fedora, and Oracle are build-enabling DAMON (set
CONFIG_DAMON[1]).  Configuring DAMON is not very easy, since it is
disabled by default, and there are multiple essential options that need to
be manually turned on, one by one.  Make it easier, by grouping essential
configurations to be enabled with one selection, and enabling build of the
essential parts of DAMON by default.

Note that build-enabling DAMON does not introduce any real risk, since it
makes no behavioral change by default.  It requires explicit user requests
to do anything.  Only one potential risk is making the size of the kernel
a little bit larger.  On a production-purpose configuration, it increases
the resulting kernel package binary size by about 0.1 % of the final
package file.  I believe that's too small to be a real problem in common
setups.

DAMON_{VADDR,PADDR,SYSFS} are de-facto essential parts of DAMON for normal
usages.  Because those need to be enabled one by one, however, and there
are other test-purpose or non-essential configurations, it is easy to be
confused and make mistakes at setup.  Make the essential configurations
default to CONFIG_DAMON, so that those can be enabled by default with a
single change.

Link: https://oracle.github.io/kconfigs/?config=UTS_RELEASE&config=DAMON [1]
Link: https://lkml.kernel.org/r/20250521042755.39653-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20250521042755.39653-2-sj@kernel.org


Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
Acked-by: default avatarHonggyu Kim <honggyu.kim@sk.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 3aefb1f0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ config DAMON_VADDR
	bool "Data access monitoring operations for virtual address spaces"
	depends on DAMON && MMU
	select PAGE_IDLE_FLAG
	default DAMON
	help
	  This builds the default data access monitoring operations for DAMON
	  that work for virtual address spaces.
@@ -36,6 +37,7 @@ config DAMON_PADDR
	bool "Data access monitoring operations for the physical address space"
	depends on DAMON && MMU
	select PAGE_IDLE_FLAG
	default DAMON
	help
	  This builds the default data access monitoring operations for DAMON
	  that works for the physical address space.
@@ -55,6 +57,7 @@ config DAMON_VADDR_KUNIT_TEST
config DAMON_SYSFS
	bool "DAMON sysfs interface"
	depends on DAMON && SYSFS
	default DAMON
	help
	  This builds the sysfs interface for DAMON.  The user space can use
	  the interface for arbitrary data access monitoring.