Re: [PATCH rcu 22/27] init: Remove "select SRCU"

Paul E. McKenney
2023-01-10T00:37:05Z

On Mon, Jan 09, 2023 at 04:02:48PM -0800, Nick Desaulniers wrote:
> On Wed, Jan 4, 2023 at 4:38 PM Paul E. McKenney <paulmck@kernel.org> wrote:
> >
> > Now that the SRCU Kconfig option is unconditionally selected, there is
> > no longer any point in selecting it. Therefore, remove the "select SRCU"
> > Kconfig statements.
>
> Looks like that's the case as of
> commit 0cd7e350abc4 ("rcu: Make SRCU mandatory")
> in v6.2-rc1.

I freely confess that I took the cowardly way out by making it
unconditional in the last merge window and getting rid of references in
the next merge window. ;-)

> > Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> > Cc: Andrew Morton <akpm@linux-foundation.org>
> > Cc: Nick Desaulniers <ndesaulniers@google.com>
> > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > Cc: Johannes Weiner <hannes@cmpxchg.org>
> > Cc: Vlastimil Babka <vbabka@suse.cz>
> > Cc: Nathan Chancellor <nathan@kernel.org>
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Cc: Miguel Ojeda <ojeda@kernel.org>
> > Cc: Masami Hiramatsu <mhiramat@kernel.org>
> > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > Cc: Aaron Tomlin <atomlin@redhat.com>
> > Cc: Tejun Heo <tj@kernel.org>
> > Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
>
> Patch LGTM
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

Thank you! I will apply this on my next rebase.

> Note that there's quite a few more of these though. Perhaps best to
> remove them all together? Or perhaps you already have individual
> patches out already for all of these?

I have these:

e73b36cbeb8eb arch/x86: Remove "select SRCU"
8bde7256e3bdc kvm: Remove "select SRCU"
047bbf23dd4f2 drivers/base: Remove CONFIG_SRCU
1b63789c861c1 drivers/clk: Remove "select SRCU"
3fe724041d29d drivers/cpufreq: Remove "select SRCU"
e8dc9f0f97d6f drivers/dax: Remove "select SRCU"
0be2fa022bcde drivers/devfreq: Remove "select SRCU"
e4ac435cd24da drivers/hwtracing/stm: Remove "select SRCU"
159ce13a6c500 drivers/md: Remove "select SRCU"
dbe417fa57042 drivers/net: Remove "select SRCU"
7cc598f342ae4 drivers/pci/controller: Remove "select SRCU"
fba630f40b15d fs/btrfs: Remove "select SRCU"
a17c8daaee218 fs/dlm: Remove "select SRCU"
fd77fd4fe1852 fs/notify: Remove "select SRCU"
47a84e7a9c1c6 fs/quota: Remove "select SRCU"
e5bc2dc08a416 init: Remove "select SRCU"
b7f8ff0898c04 kernel/power: Remove "select SRCU"
db389dace41db mm: Remove "select SRCU"
e5316ffd44aa1 fs: Remove CONFIG_SRCU
2d07d1c58fad7 kernel/notifier: Remove CONFIG_SRCU
c761c79f1e72f rcu: Remove CONFIG_SRCU

Plus there are three more that people wanted to take via their own
trees. And I am fine either way.

But as long as you generated the list...

> $ grep -rn 'select SRCU'
> mm/Kconfig:670: select SRCU
> kernel/power/Kconfig:121: select SRCU
> arch/mips/kvm/Kconfig:29: select SRCU
> arch/riscv/kvm/Kconfig:30: select SRCU
> arch/s390/kvm/Kconfig:34: select SRCU
> arch/powerpc/kvm/Kconfig:25: select SRCU
> arch/x86/kvm/Kconfig:49: select SRCU
> arch/x86/Kconfig:286: select SRCU
> arch/x86/Kconfig:1941: select SRCU
> arch/arm64/kvm/Kconfig:31: select SRCU
> init/Kconfig:1868: select SRCU
> security/tomoyo/Kconfig:9: select SRCU
> fs/btrfs/Kconfig:20: select SRCU
> fs/dlm/Kconfig:7: select SRCU
> fs/quota/Kconfig:9: select SRCU
> fs/notify/Kconfig:4: select SRCU
> drivers/md/Kconfig:9: select SRCU
> drivers/clk/Kconfig:26: select SRCU
> drivers/dax/Kconfig:4: select SRCU
> drivers/devfreq/Kconfig:4: select SRCU
> drivers/net/Kconfig:337: select SRCU
> drivers/hwtracing/stm/Kconfig:5: select SRCU
> drivers/cpufreq/Kconfig:6: select SRCU
> drivers/opp/Kconfig:4: select SRCU

And it does look like I missed security/tomoyo/Kconfig, so thank you
for checking! I have queued the patch.

The other one missing from -next is drivers/opp/Kconfig, which Viresh
said that he was taking.

There is no trace of CONFIG_SRCU in -next, which is the more worrying
one.

Thanx, Paul

> > ---
> > init/Kconfig | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/init/Kconfig b/init/Kconfig
> > index 7e5c3ddc341de..af511c726d695 100644
> > --- a/init/Kconfig
> > +++ b/init/Kconfig
> > @@ -1865,7 +1865,6 @@ config PERF_EVENTS
> > default y if PROFILING
> > depends on HAVE_PERF_EVENTS
> > select IRQ_WORK
> > - select SRCU
> > help
> > Enable kernel support for various performance events provided
> > by software and hardware.
> > --
> > 2.31.1.189.g2e36527f23
> >
>
>
> --
> Thanks,
> ~Nick Desaulniers