On 17/08/2022 18.27, Sebastian Andrzej Siewior wrote: > From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > Move the RT dependency for the initial value of > sysctl_compact_unevictable_allowed into Kconfig. > > > +config COMPACT_UNEVICTABLE_DEFAULT > + int > + default 0 if PREEMPT_RT > + default 1 > + > # > # support for free page reporting > config PAGE_REPORTING > diff --git a/mm/compaction.c b/mm/compaction.c > index 640fa76228dd9..10561cb1aaad9 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -1727,11 +1727,7 @@ typedef enum { > * Allow userspace to control policy on scanning the unevictable LRU for > * compactable pages. > */ > -#ifdef CONFIG_PREEMPT_RT > -int sysctl_compact_unevictable_allowed __read_mostly = 0; > -#else > -int sysctl_compact_unevictable_allowed __read_mostly = 1; > -#endif > +int sysctl_compact_unevictable_allowed __read_mostly = CONFIG_COMPACT_UNEVICTABLE_DEFAULT; Why introduce a Kconfig symbol for this, and not just spell the initializer "IS_ENABLED(CONFIG_PREEMPT_RT) ? 0 : 1" or simply "!IS_ENABLED(CONFIG_PREEMPT_RT)"? And if you do keep it in Kconfig, shouldn't the symbol be "depends on COMPACTION" so it doesn't needlessly appear in .config when !CONFIG_COMPACTION. Rasmus