diff options
author | Tejun Heo <tj@kernel.org> | 2009-10-02 00:28:56 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-10-02 00:28:56 -0400 |
commit | 52594762a39dfb6338c9d0906ca21dd9ae9453be (patch) | |
tree | 4c80dd59ec452c9fe798edf3f4023914c1898a0b /arch/ia64/kernel | |
parent | 36886478f59ec0fdc24a8877c572b92f8d416aba (diff) |
ia64: convert to dynamic percpu allocator
Unlike other archs, ia64 reserves space for percpu areas during early
memory initialization. These areas occupy a contiguous region indexed
by cpu number on contiguous memory model or are grouped by node on
discontiguous memory model.
As allocation and initialization are done by the arch code, all that
setup_per_cpu_areas() needs to do is communicating the determined
layout to the percpu allocator. This patch implements
setup_per_cpu_areas() for both contig and discontig memory models and
drops HAVE_LEGACY_PER_CPU_AREA.
Please note that for contig model, the allocation itself is modified
only to allocate for possible cpus instead of NR_CPUS. As dynamic
percpu allocator can handle non-direct mapping, there's no reason to
allocate memory for cpus which aren't possible.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: linux-ia64 <linux-ia64@vger.kernel.org>
Diffstat (limited to 'arch/ia64/kernel')
-rw-r--r-- | arch/ia64/kernel/setup.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 5d77c1e1c0ce..bc1ef4ae828c 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -855,18 +855,6 @@ identify_cpu (struct cpuinfo_ia64 *c) | |||
855 | } | 855 | } |
856 | 856 | ||
857 | /* | 857 | /* |
858 | * In UP configuration, setup_per_cpu_areas() is defined in | ||
859 | * include/linux/percpu.h | ||
860 | */ | ||
861 | #ifdef CONFIG_SMP | ||
862 | void __init | ||
863 | setup_per_cpu_areas (void) | ||
864 | { | ||
865 | /* start_kernel() requires this... */ | ||
866 | } | ||
867 | #endif | ||
868 | |||
869 | /* | ||
870 | * Do the following calculations: | 858 | * Do the following calculations: |
871 | * | 859 | * |
872 | * 1. the max. cache line size. | 860 | * 1. the max. cache line size. |