Re: [PATCH] percpu data: only iterate over possible CPUs

From: Linus Torvalds
Date: Tue Feb 07 2006 - 11:41:44 EST




On Tue, 7 Feb 2006, Eric Dumazet wrote:
>
> This patch assumes that cpu_possible_map is setup before
> setup_per_cpu_areas().
>
> That sounds a reasonable assumption, but maybe not on your architecture ?

I have to say, it sounds not just like a reasonable assumption, but like
the only sane assumption that there _could_ be.

> I dont think cpu_possible_map has to be filled at smp_prepare_cpus() time, but
> long before.
>
> On i386/x86_64/ia64, this is done from setup_arch() called from start_kernel()
> just before setup_per_cpu_areas()
>
> On powerpc it's done from setup_system(), called before start_kernel()

It absolutely _has_ to be done from setup_arch() or earlier, as shown by
the fact that "setup_per_cpu_areas()" is the very next thing that
init/main.c calls (and clearly, that needs to know what CPU's are
possible).

ppc64 certainly calls it early enough, as does x86/x86-64/ia64. I don't
see anybody else doing it too late either.

Heiko, can you point to the "old comment" you mentioned in the email, or
the architecture that does this wrong?

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