lkml.org 
[lkml]   [2006]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: SMP BUG
On Wed, Feb 15, 2006 at 03:46:34PM -0800, Andrew Morton wrote:
> Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> >
> > On Wed, Feb 15, 2006 at 03:30:13PM -0800, Andrew Morton wrote:
> > > Linus Torvalds <torvalds@osdl.org> wrote:
> > > > That said, nobody seemed to comment on this patch by Rik, which seemed to
> > > > be a nice cleanup regardless of any other issues.
> > >
> > > I thought that patch wasn't a good one. The runqueues should be
> > > initialised in sched_init(). init_idle() is called from fork_idle() which
> > > is called from the bowels of arch code. I'm not sure that it gets called
> > > at all if !SMP (which seems strange).
> >
> > Wouldn't it make sense to do this initialisation in a CPU_UP_PREPARE
> > notifier, if not already done?
> >
>
> Could be - we have a couple of notifier handlers in sched.c already,
> although they're inside awkward CONFIG_* wrappers.
>
> But architectures need to initialise cpu_possible_map in setup_arch()
> anyway, because we immediately call setup_per_cpu_areas(), which needs to
> know which CPUs are possible so it will only allocate memory for them.
>
> Yes, architectures can override the generic setup_per_cpu_areas(), but the
> same argument applies: they don't want to be allocating memory for
> !possible CPUs.
>
> So I think it's sanest to say that the arch shalt initialise cpu_possible_map
> in setup_arch().

Is that the only thing which needs to be initialised early for SMP, or
are there other changes with early SMP init looming?

The reason I ask is that the cleanest solution for ARM would be to
introduce yet another initialisation function for MP platforms to
implement, which setup_arch() will call after the initial page tables
have been setup. Hence, I'm wondering if the platform specific parts
could be simplified by moving more stuff earlier.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
-
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/

\
 
 \ /
  Last update: 2006-02-16 01:16    [W:0.030 / U:0.256 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site