Re: [RFC PATCH] kernel: allow to configure PREEMPT_NONE, PREEMPT_VOLUNTARY on kernel command line

From: Michal Hocko
Date: Fri Oct 09 2020 - 06:37:33 EST


On Fri 09-10-20 12:14:31, Peter Zijlstra wrote:
> On Fri, Oct 09, 2020 at 12:10:44PM +0200, Michal Hocko wrote:
> > On Fri 09-10-20 11:42:45, Peter Zijlstra wrote:
> > > On Fri, Oct 09, 2020 at 11:12:18AM +0200, Michal Hocko wrote:
> > > > Is there any additional feedback? Should I split up the patch and repost
> > > > for inclusion?
> > >
> > > Maybe remove PREEMPT_NONE after that? Since that's then equivalent to
> > > building with VOLUNTARY and booting with preempt=none.
> >
> > So do you mean that I should post an additional patch which does this on
> > top? With a justification that there is one option less to chose from?
>
> Exactly!

It seems we have to get rid of CONFIG_NO_PREEMPT first
$ git grep ARCH_NO_PREEMPT
arch/Kconfig:config ARCH_NO_PREEMPT
arch/alpha/Kconfig: select ARCH_NO_PREEMPT
arch/hexagon/Kconfig: select ARCH_NO_PREEMPT
arch/m68k/Kconfig: select ARCH_NO_PREEMPT if !COLDFIRE
arch/um/Kconfig: select ARCH_NO_PREEMPT
kernel/Kconfig.preempt: depends on !ARCH_NO_PREEMPT
kernel/Kconfig.preempt: depends on !ARCH_NO_PREEMPT
lib/Kconfig.debug: select PREEMPT_COUNT if !ARCH_NO_PREEMPT
lib/Kconfig.debug: depends on !ARCH_NO_PREEMPT

Is there anybody working on that. Is this even possible? I can see it
has been added by 87a4c375995e ("kconfig: include kernel/Kconfig.preempt
from init/Kconfig") but this looks more like a mechanical change and it
has defined ARCH_NO_PREEMPT all arches which haven't included
Kconfig.preempt. But is there any reason why those cannot support
preemption for some reason? Cc respective maintainer (the email thread
starts http://lkml.kernel.org/r/20201007120401.11200-1-mhocko@xxxxxxxxxx
--
Michal Hocko
SUSE Labs