Messages in this thread Patch in this message | | | Date | Tue, 7 Feb 2006 09:34:58 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] percpu data: only iterate over possible CPUs |
| |
Linus Torvalds <torvalds@osdl.org> wrote: > > > > 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? >
This one:
--- devel/fs/file.c~reduce-size-of-percpudata-and-make-sure-per_cpuobject 2006-02-04 23:27:17.000000000 -0800 +++ devel-akpm/fs/file.c 2006-02-04 23:27:17.000000000 -0800 @@ -379,7 +379,6 @@ static void __devinit fdtable_defer_list void __init files_defer_init(void) { int i; - /* Really early - can't use for_each_cpu */ - for (i = 0; i < NR_CPUS; i++) + for_each_cpu(i) fdtable_defer_list_init(i); } And yes, me too - when I saw that comment disappear I checked and decided that the comment was both wrong and undesirable. - 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/
| |