lkml.org 
[lkml]   [2008]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] rcu: fix section mismatch
On Mon, Jan 21, 2008 at 11:38:38AM +1100, Rusty Russell wrote:
> On Sunday 20 January 2008 08:25:49 Sam Ravnborg wrote:
> > On Sat, Jan 19, 2008 at 11:56:43AM -0800, Randy Dunlap wrote:
> > > rcu_online_cpu() should be __cpuinit instead of __devinit.
> >
> > So if we have:
> > CONFIG_HOTPLUG=n
> > CONFIG_HOTPLUG_CPU=y
> >
> > then this is a oops candidate.
>
> At first glance, this can't happen because all CONFIG_HOTPLUG_CPU depends on
> CONFIG_HOTPLUG or selects it, for all archs.
>
> But CONFIG_PM_SLEEP_SMP selects CONFIG_HOTPLUG_CPU, without requiring
> CONFIG_HOTPLUG: turning on SUSPEND or HIBERNATION does this.
For now it is a bug to select a symbol with dependencies...

If we could say that we always have HOTPLUG when we have HOTPLUG_CPU
that would kill a lot of a lot of Section Mismatch warnings.
But as things stands out we can build a kernel with HOTPLUG_CPU
but without HOTPLUG.

#if defined(CONFIG_HOTPLUG_CPU && !defined(CONFIG_HOTPLUG)
# error illegal configuration - talk to the PM guys
#endif

could do it?

>
> Perhaps it's time to revisit reverse-depends for select?
Or maybe a higer level solution.
select is used for three pruposes:
- to include specific minimalitic functionality as for example done on
the ARM Kconfig file with success
- to enable general functionality (the HAVE_* way to do it)
- to enable subsystems of different sizes

And it is only when people try to do the latter it blows up.
And they do so to make it easier for people to configure the kernel
but the end result is the opposite.

Sam


\
 
 \ /
  Last update: 2008-01-21 20:11    [W:0.080 / U:0.404 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site