Messages in this thread | | | Subject | Re: Linux 2.6.17-rc2 - notifier chain problem? | From | Chandra Seetharaman <> | Date | Wed, 26 Apr 2006 11:18:54 -0700 |
| |
On Wed, 2006-04-26 at 11:49 -0400, Alan Stern wrote: > On Mon, 24 Apr 2006, Andrew Morton wrote: <snip>
> > I guess for now, bringing those things into .text and .data when there's > > doubt is a reasonable thing to do. > > It seems clear that this particular oops was caused by the xfs driver > trying to register a cpu_notifier at a time when that notifier chain was > expected to be completely idle. > > Instead of moving all this code and data out of the init sections, > wouldn't it be better to fix the individual drivers (like xfs) so they > won't try to use inaccessible notifier chains? > > For that matter, if lots of entries on the cpu_notifier chain are marked > with __cpuinit, then shouldn't the chain header itself plus > register_cpu_notifier and unregister_cpu_notifier be marked the same way?
Your suggestion is very valid, since the cpu_notifiers are called only at init time, unless CONFIG_HOTPLUG_CPU is turned ON. Definitions of __cpuinit and __cpuinitdata takes care of HOTPLUG config option.
XFS wants to register only for HOTPLUG_CPU case, and it do so by putting the callback, register and unregister inside #ifdef HOTPLUG_CPU.
Note: I made the changes and tested, it works.
Andrew, Linus, Any comments ?
> Alan Stern > --
---------------------------------------------------------------------- Chandra Seetharaman | Be careful what you choose.... - sekharan@us.ibm.com | .......you may get it. ----------------------------------------------------------------------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |