[PATCH] x86: don't initialise cpu_possible_map to all ones
authorAndrew Morton <akpm@osdl.org>
Fri, 10 Feb 2006 09:51:08 +0000 (01:51 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 10 Feb 2006 16:13:12 +0000 (08:13 -0800)
commit7a8ef1cb774e5438d292365626f9b96616283706
tree82d085204e8728d28a5267fb39aa2e26ea8824c9
parent705672935f8a9e661264e34cd8c409e8cddcc7db
[PATCH] x86: don't initialise cpu_possible_map to all ones

Initialising cpu_possible_map to all-ones with CONFIG_HOTPLUG_CPU means that

a) All for_each_cpu() loops will iterate across all NR_CPUS CPUs, rather
   than over possible ones.  That can be quite expensive.

b) Soon we'll be allocating per-cpu areas only for possible CPUs.  So with
   CPU_MASK_ALL, we'll be wasting memory.

I also switched voyager over to not use CPU_MASK_ALL in the non-CPU-hotplug
case.  Should be OK..

I note that parisc is also using CPU_MASK_ALL.  Suggest that it stop doing
that.

Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Paul Jackson <pj@sgi.com>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Zwane Mwaikambo <zwane@linuxpower.ca>
Cc: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/smpboot.c
arch/i386/mach-voyager/voyager_smp.c
include/linux/cpumask.h