Re: Linux 2.6.17-rc2 - notifier chain problem?

From: Chandra Seetharaman
Date: Wed Apr 26 2006 - 16:21:34 EST


On Wed, 2006-04-26 at 12:29 -0700, Ashok Raj wrote:
> On Wed, Apr 26, 2006 at 11:43:48AM -0700, Andrew Morton wrote:
> > Chandra Seetharaman <sekharan@xxxxxxxxxx> wrote:
> > Ashok's the one who has spent most time with this. Basically _everything_
> > to do with register_cpu_notifier() and all the things which call it should
> > be __cpuinit and should be tossed away during boot on non-cpu-hotplug
> > kernels.
> >
> > But there are a few nasty problems with that which made us give up.
>
> I think we got to a reasonable start, until i got busy with other things
> and didnt complete it all the way to be ready to submit. There were many files
> that got affected, so we thought may be could take smaller steps.
>
> for the above xfs, if you want to avoid the ifdef CONFIG_HOTPLUG_CPU
> you could choose to use the hotcpu_notifier() which is null macro when
> CONFIG_HOTPLUG_CPU=n

No, they can't use the hotcpu_notifier, because they want to hold on to
their notifier block (as they attach it with each mount data structure).

But, it is not a major issue. Changes to xfs to adhere to the model
being discussed is very small.

>
> The problem we ran into was some of the startup code depends on the notifier
> call chain for smp bringup, hence we couldn't nuke it similar to
> hotcpu_notifier().

I do not understand the problem. If everybody that uses
register_cpu_notifier() starts using __cpuinit and __cpuinitdata (or the
devinit siblings), then the notifier mechanism will not be any different
than what they are now, right ? (both in hotplug cpu and non-hotplug cpu
case) Or am i missing something ?

>
> so we ended up calling that function for early risers as
> early_register_cpu_notifier(), and all functions/data with __cpuinit etc to
> overcome that issue.
>
> I will try to pursue to again when i get a chance.

I made patches that removes all init stuff from all the usages of
notifier_blocks, and i _think_ it is on its way to 2.6.17. The question
is, should it go in or not ?

May be the right answer is it should not and xfs should fix their
register_cpu_notifier() usage.

chandra
--

----------------------------------------------------------------------
Chandra Seetharaman | Be careful what you choose....
- sekharan@xxxxxxxxxx | .......you may get it.
----------------------------------------------------------------------


-
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/