* [RFC PATCH 0/2] mm/damon: build-enable essential DAMON components by default
@ 2025-05-12 18:27 SeongJae Park
2025-05-12 18:27 ` [RFC PATCH 1/2] mm/damon/Kconfig: defaults VADDR, PADDR, and SYSFS to DAMON SeongJae Park
2025-05-12 18:27 ` [RFC PATCH 2/2] mm/damon/Kconfig: enable CONFIG_DAMON by default SeongJae Park
0 siblings, 2 replies; 3+ messages in thread
From: SeongJae Park @ 2025-05-12 18:27 UTC (permalink / raw)
Cc: SeongJae Park, Andrew Morton, damon, kernel-team, linux-kernel, linux-mm
As of this writing, a few 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 a real risk, since it
makes no behavioral change by default. It requires users to make
explicit requests to do something. Only one potential risk is making
the size of the kernel a little bit larger. On a configuration, it
increases the resulting kernel package binary size by 337,685 bytes,
which is about 0.1 % of the final package file.
[1] https://oracle.github.io/kconfigs/?config=UTS_RELEASE&config=DAMON
SeongJae Park (2):
mm/damon/Kconfig: defaults VADDR, PADDR, and SYSFS to DAMON
mm/damon/Kconfig: enable CONFIG_DAMON by default
mm/damon/Kconfig | 4 ++++
1 file changed, 4 insertions(+)
base-commit: 399b2f61ec1add307a04f0d128a3de333c4d1daf
--
2.39.5
^ permalink raw reply [flat|nested] 3+ messages in thread
* [RFC PATCH 1/2] mm/damon/Kconfig: defaults VADDR, PADDR, and SYSFS to DAMON
2025-05-12 18:27 [RFC PATCH 0/2] mm/damon: build-enable essential DAMON components by default SeongJae Park
@ 2025-05-12 18:27 ` SeongJae Park
2025-05-12 18:27 ` [RFC PATCH 2/2] mm/damon/Kconfig: enable CONFIG_DAMON by default SeongJae Park
1 sibling, 0 replies; 3+ messages in thread
From: SeongJae Park @ 2025-05-12 18:27 UTC (permalink / raw)
Cc: SeongJae Park, Andrew Morton, damon, kernel-team, linux-kernel, linux-mm
It is suggested to enable DAMON_VADDR, DAMON_PADDR and DAMON_SYSFS
configurations together with DAMON, since those are essential parts of
DAMON for optimum and usual usages. Because those need to be enabled
one by one, and there are other test-purpose or non-essential
configurations, it is easy to be confused and make mistakes at setup.
Make the essential configuration defaults to CONFIG_DAMON, so that those
can be enabled by default with single change.
Signed-off-by: SeongJae Park <sj@kernel.org>
---
mm/damon/Kconfig | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mm/damon/Kconfig b/mm/damon/Kconfig
index c213cf8b5638..c93d0c56b963 100644
--- a/mm/damon/Kconfig
+++ b/mm/damon/Kconfig
@@ -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.
--
2.39.5
^ permalink raw reply [flat|nested] 3+ messages in thread
* [RFC PATCH 2/2] mm/damon/Kconfig: enable CONFIG_DAMON by default
2025-05-12 18:27 [RFC PATCH 0/2] mm/damon: build-enable essential DAMON components by default SeongJae Park
2025-05-12 18:27 ` [RFC PATCH 1/2] mm/damon/Kconfig: defaults VADDR, PADDR, and SYSFS to DAMON SeongJae Park
@ 2025-05-12 18:27 ` SeongJae Park
1 sibling, 0 replies; 3+ messages in thread
From: SeongJae Park @ 2025-05-12 18:27 UTC (permalink / raw)
Cc: SeongJae Park, Andrew Morton, damon, kernel-team, linux-kernel, linux-mm
As of this writing, a few major distros including Alma, Amazon, Android,
CentOS, Debian, Fedora, and Oracle are build-enabling DAMON (set
CONFIG_DAMON[1]). Enabling it by default will help configuration setups
for them and future users easier.
Build-enabling DAMON does not introduce a real risk since it makes no
behavioral change by default. It requires users to make explicit
requests to do something. Only one potential risk is making the size of
the kernel a little bit larger. On a configuration, it increases the
resulting kernel package size by 337,685 bytes, which is about 0.1 % of
the final package file.
Hence, the benefit of enabling CONFIG_DAMON outweighs the potential
risk. Set CONFIG_DAMON by default.
[1] https://oracle.github.io/kconfigs/?config=UTS_RELEASE&config=DAMON
Signed-off-by: SeongJae Park <sj@kernel.org>
---
mm/damon/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/damon/Kconfig b/mm/damon/Kconfig
index c93d0c56b963..551745df011b 100644
--- a/mm/damon/Kconfig
+++ b/mm/damon/Kconfig
@@ -4,6 +4,7 @@ menu "Data Access Monitoring"
config DAMON
bool "DAMON: Data Access Monitoring Framework"
+ default y
help
This builds a framework that allows kernel subsystems to monitor
access frequency of each memory region. The information can be useful
--
2.39.5
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-05-12 18:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-12 18:27 [RFC PATCH 0/2] mm/damon: build-enable essential DAMON components by default SeongJae Park
2025-05-12 18:27 ` [RFC PATCH 1/2] mm/damon/Kconfig: defaults VADDR, PADDR, and SYSFS to DAMON SeongJae Park
2025-05-12 18:27 ` [RFC PATCH 2/2] mm/damon/Kconfig: enable CONFIG_DAMON by default SeongJae Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox