Re: [PATCH] make CONFIG_EXPERIMENTAL invisible and default

From: Paul E. McKenney
Date: Thu Oct 04 2012 - 10:32:34 EST


On Wed, Oct 03, 2012 at 11:43:37PM +0200, Frederic Weisbecker wrote:
> On Wed, Oct 03, 2012 at 03:36:53PM -0400, Dave Jones wrote:
> > On Wed, Oct 03, 2012 at 07:46:18PM +0200, Frederic Weisbecker wrote:
> > > > it in the kernel tree, unless we wanted people to use the option?
> > >
> > > A solution could be to add that option under CONFIG_DEBUG_KERNEL and specify
> > > that it must only be enabled by developers for specific reasons (overhead,
> > > security). CONFIG_PROVE_LOCKING falls into that category, right?
> > >
> > > We have CONFIG_RCU_USER_QS that is a specific case. It's an intermediate state
> > > before we implement a true CONFIG_NO_HZ_FULL. But the option is useless on its
> > > own for users. Worse, it introduces a real overhead. OTOH we want it to be upstream
> > > to make the development of full tickless feature more incremental.
> > >
> > > Perhaps we should put that under CONFIG_DEBUG_KERNEL.
> >
> > Overloading an existing config option for something unrelated seems unpleasant to me.
> > It will only take a few people to start doing this, before it turns into a landslide
> > where everyone ends up with DEBUG_KERNEL set.
> > And what of people who already have DEBUG_KERNEL set ?
>
> Sorry, by wording wasn't clear. I didn't mean overloading CONFIG_DEBUG_KERNEL but
> rather depend on it.
>
> >
> > Just state what you wrote above in the kconfig.
> > Currently, RCU_USER_QS says nothing about the fact that it's work in progress.
>
> Yeah I much prefer that. I'll add some details on the Kconfig.
>
> > The missing part that I don't have an answer for however, is what happens
> > when you deem this production ready? Distro maintainers won't notice the
> > kconfig text changing. But perhaps that's a good thing, and will lead to things
> > only being enabled when people explicitly ask for them in distros.
>
> That Kconfig option is likely going to disappear inside a new CONFIG_NO_HZ_FULL that
> will enables individual features like RCU user mode and stuffs.
>
> And if it stays, it will be enabled by CONFIG_NO_HZ_FULL. So it's not an option
> anybody will ever have to deal with directly.
>
> > Alternatively, if you really do want to go the path of a new config option,
> > perhaps CONFIG_NOT_DISTRO_READY would spell things out more clearly.
> > EXPERIMENTAL is such a wasteland it would take too much manpower to audit
> > every case, and update accordingly, but scorching the earth and starting
> > afresh might be feasible.
>
> CONFIG_STAGING already does that kind of thing I guess. Although I suspect people
> are reluctant with core features in -staging.

Well, it would certainly be possible to include a file from a
drivers/staging/rcu directory or some such. As you say, I am not sure
how Greg KH would react to such a patch, though. ;-)

I guess that the lesson I am learning here is that the nocb patch
needs to go into the -rt patchset rather than directly into mainline.
Though Dave Jones's thought of tainting the kernel at boot time
sounds interesting as well.

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/