--- include/asm-generic/percpu.h | 10 ---------- include/asm-ia64/percpu.h | 8 -------- include/asm-powerpc/percpu.h | 3 --- include/asm-sparc64/percpu.h | 8 -------- include/asm-x86/percpu_32.h | 15 +-------------- include/asm-x86/percpu_64.h | 2 -- include/linux/percpu.h | 6 ------ init/main.c | 4 ++-- 8 files changed, 3 insertions(+), 53 deletions(-) Index: linux-2.6/include/asm-generic/percpu.h =================================================================== --- linux-2.6.orig/include/asm-generic/percpu.h 2007-11-24 19:01:31.048139763 -0800 +++ linux-2.6/include/asm-generic/percpu.h 2007-11-24 19:05:42.056600551 -0800 @@ -3,8 +3,6 @@ #include #include -#ifdef CONFIG_SMP - /* * per_cpu_offset() is the offset that has to be added to a * percpu variable to get to the instance for a certain processor. @@ -58,14 +56,6 @@ extern unsigned long __per_cpu_offset[NR extern void setup_per_cpu_areas(void); #endif -#else /* ! SMP */ - -#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var)) -#define __get_cpu_var(var) per_cpu__##var -#define __raw_get_cpu_var(var) per_cpu__##var - -#endif /* SMP */ - #define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name #endif /* _ASM_GENERIC_PERCPU_H_ */ Index: linux-2.6/include/linux/percpu.h =================================================================== --- linux-2.6.orig/include/linux/percpu.h 2007-11-24 19:01:27.068101043 -0800 +++ linux-2.6/include/linux/percpu.h 2007-11-24 19:02:16.624600554 -0800 @@ -13,20 +13,14 @@ __attribute__((__section__(".data.percpu"))) \ __typeof__(type) per_cpu__##name -#ifdef CONFIG_SMP #define DEFINE_PER_CPU_SHARED_ALIGNED(type, name) \ __attribute__((__section__(".data.percpu.shared_aligned"))) \ __typeof__(type) per_cpu__##name \ ____cacheline_aligned_in_smp -#else -#define DEFINE_PER_CPU_SHARED_ALIGNED(type, name) \ - DEFINE_PER_CPU(type, name) -#endif #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var) #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var) -/* Enough to cover all DEFINE_PER_CPUs in kernel, including modules. */ #ifndef PERCPU_ENOUGH_ROOM #ifdef CONFIG_MODULES #define PERCPU_MODULE_RESERVE 8192 Index: linux-2.6/include/asm-ia64/percpu.h =================================================================== --- linux-2.6.orig/include/asm-ia64/percpu.h 2007-11-24 19:01:34.344350573 -0800 +++ linux-2.6/include/asm-ia64/percpu.h 2007-11-24 19:02:46.656100473 -0800 @@ -17,18 +17,10 @@ #define DECLARE_PER_CPU(type, name) \ extern __typeof__(type) per_cpu__##name -#ifdef CONFIG_SMP - #define __my_cpu_offset __ia64_per_cpu_var(local_per_cpu_offset) extern void *per_cpu_init(void); -#else /* ! SMP */ - -#define per_cpu_init() (__phys_per_cpu_start) - -#endif /* SMP */ - /* * Be extremely careful when taking the address of this variable! Due to virtual * remapping, it is different from the canonical address returned by __get_cpu_var(var)! Index: linux-2.6/include/asm-powerpc/percpu.h =================================================================== --- linux-2.6.orig/include/asm-powerpc/percpu.h 2007-11-24 19:01:33.309601010 -0800 +++ linux-2.6/include/asm-powerpc/percpu.h 2007-11-24 19:02:16.628600945 -0800 @@ -8,14 +8,11 @@ * in the paca. Based on the x86-64 implementation. */ -#ifdef CONFIG_SMP - #include #define __per_cpu_offset(cpu) (paca[cpu].data_offset) #define __my_cpu_offset() get_paca()->data_offset #define per_cpu_offset(x) (__per_cpu_offset(x)) -#endif /* SMP */ #include #endif /* _ASM_POWERPC_PERCPU_H_ */ Index: linux-2.6/include/asm-sparc64/percpu.h =================================================================== --- linux-2.6.orig/include/asm-sparc64/percpu.h 2007-11-24 19:01:33.660100516 -0800 +++ linux-2.6/include/asm-sparc64/percpu.h 2007-11-24 19:03:37.209350142 -0800 @@ -5,8 +5,6 @@ register unsigned long __local_per_cpu_offset asm("g5"); -#ifdef CONFIG_SMP - extern void real_setup_per_cpu_areas(void); extern unsigned long __per_cpu_base; @@ -17,12 +15,6 @@ extern unsigned long __per_cpu_shift; #define __my_cpu_offset __local_per_cpu_offset -#else /* ! SMP */ - -#define real_setup_per_cpu_areas() do { } while (0) - -#endif /* SMP */ - #include #endif /* __ARCH_SPARC64_PERCPU__ */ Index: linux-2.6/include/asm-x86/percpu_32.h =================================================================== --- linux-2.6.orig/include/asm-x86/percpu_32.h 2007-11-24 19:01:32.077850633 -0800 +++ linux-2.6/include/asm-x86/percpu_32.h 2007-11-24 19:02:16.628600945 -0800 @@ -15,16 +15,11 @@ * Example: * PER_CPU(cpu_gdt_descr, %ebx) */ -#ifdef CONFIG_SMP + #define PER_CPU(var, reg) \ movl %fs:per_cpu__##this_cpu_off, reg; \ lea per_cpu__##var(reg), reg #define PER_CPU_VAR(var) %fs:per_cpu__##var -#else /* ! SMP */ -#define PER_CPU(var, reg) \ - movl $per_cpu__##var, reg -#define PER_CPU_VAR(var) per_cpu__##var -#endif /* SMP */ #else /* ...!ASSEMBLY */ @@ -40,19 +35,11 @@ * Example: * PER_CPU(cpu_gdt_descr, %ebx) */ -#ifdef CONFIG_SMP - #define __my_cpu_offset x86_read_percpu(this_cpu_off) /* fs segment starts at (positive) offset == __per_cpu_offset[cpu] */ #define __percpu_seg "%%fs:" -#else /* !SMP */ - -#define __percpu_seg "" - -#endif /* SMP */ - #include /* We can use this directly for local CPU (faster). */ Index: linux-2.6/include/asm-x86/percpu_64.h =================================================================== --- linux-2.6.orig/include/asm-x86/percpu_64.h 2007-11-24 19:01:32.520100440 -0800 +++ linux-2.6/include/asm-x86/percpu_64.h 2007-11-24 19:02:16.628600945 -0800 @@ -7,7 +7,6 @@ should be just put into a single section and referenced directly from %gs */ -#ifdef CONFIG_SMP #include #define __per_cpu_offset(cpu) (cpu_pda(cpu)->data_offset) @@ -15,6 +14,5 @@ #define per_cpu_offset(x) (__per_cpu_offset(x)) -#endif #include #endif /* _ASM_X8664_PERCPU_H_ */ Index: linux-2.6/init/main.c =================================================================== --- linux-2.6.orig/init/main.c 2007-11-24 19:01:23.484350942 -0800 +++ linux-2.6/init/main.c 2007-11-24 19:10:56.480294976 -0800 @@ -358,10 +358,9 @@ static void __init smp_init(void) #define smp_init() do { } while (0) #endif -static inline void setup_per_cpu_areas(void) { } static inline void smp_prepare_cpus(unsigned int maxcpus) { } -#else +#endif #ifndef CONFIG_ARCH_SETS_UP_PER_CPU_AREA unsigned long __per_cpu_offset[NR_CPUS] __read_mostly; @@ -386,6 +385,7 @@ static void __init setup_per_cpu_areas(v } #endif /* CONFIG_ARCH_SETS_UP_CPU_AREA */ +#ifdef CONFIG_SMP /* Called by boot processor to activate the rest. */ static void __init smp_init(void) {