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

Peter Zijlstra peterz at infradead.org
Fri Oct 9 07:42:16 EDT 2020


On Fri, Oct 09, 2020 at 12:37:30PM +0200, Michal Hocko wrote:
> 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@kernel.org

I suspect we can drop ARCH_NO_PREEMPT from VOLUNTARY, IIRC there's no
arch dependency there. PREEMPT itself obviously needs arch help.



More information about the linux-um mailing list