[PATCH] adjust per_cpu definition in non-SMP case

From: Jan Beulich
Date: Thu May 12 2005 - 03:55:01 EST


(Note: Patch also attached because the inline version is certain to get
line wrapped.)

Fix (in the architectures I'm actually building for) the UP definition of
per_cpu so that the cpu specified may be any expression, not just an
identifier or a suffix expression.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

diff -Npru linux-2.6.12-rc4.base/include/asm-generic/percpu.h linux-2.6.12-rc4/include/asm-generic/percpu.h
--- linux-2.6.12-rc4.base/include/asm-generic/percpu.h 2005-03-02 08:37:50.000000000 +0100
+++ linux-2.6.12-rc4/include/asm-generic/percpu.h 2005-03-15 14:40:12.000000000 +0100
@@ -29,7 +29,7 @@ do { \
#define DEFINE_PER_CPU(type, name) \
__typeof__(type) per_cpu__##name

-#define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var))
+#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var))
#define __get_cpu_var(var) per_cpu__##var

#endif /* SMP */
diff -Npru linux-2.6.12-rc4.base/include/asm-ia64/percpu.h linux-2.6.12-rc4/include/asm-ia64/percpu.h
--- linux-2.6.12-rc4.base/include/asm-ia64/percpu.h 2005-03-02 08:38:17.000000000 +0100
+++ linux-2.6.12-rc4/include/asm-ia64/percpu.h 2005-03-15 14:40:12.000000000 +0100
@@ -50,7 +50,7 @@ extern void *per_cpu_init(void);

#else /* ! SMP */

-#define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var))
+#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var))
#define __get_cpu_var(var) per_cpu__##var
#define per_cpu_init() (__phys_per_cpu_start)

diff -Npru linux-2.6.12-rc4.base/include/asm-x86_64/percpu.h linux-2.6.12-rc4/include/asm-x86_64/percpu.h
--- linux-2.6.12-rc4.base/include/asm-x86_64/percpu.h 2005-03-02 08:38:13.000000000 +0100
+++ linux-2.6.12-rc4/include/asm-x86_64/percpu.h 2005-03-15 15:19:44.000000000 +0100
@@ -39,7 +39,7 @@ extern void setup_per_cpu_areas(void);
#define DEFINE_PER_CPU(type, name) \
__typeof__(type) per_cpu__##name

-#define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var))
+#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var))
#define __get_cpu_var(var) per_cpu__##var

#endif /* SMP */


(Note: Patch also attached because the inline version is certain to get
line wrapped.)

Fix (in the architectures I'm actually building for) the UP definition of
per_cpu so that the cpu specified may be any expression, not just an
identifier or a suffix expression.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

diff -Npru linux-2.6.12-rc4.base/include/asm-generic/percpu.h linux-2.6.12-rc4/include/asm-generic/percpu.h
--- linux-2.6.12-rc4.base/include/asm-generic/percpu.h 2005-03-02 08:37:50.000000000 +0100
+++ linux-2.6.12-rc4/include/asm-generic/percpu.h 2005-03-15 14:40:12.000000000 +0100
@@ -29,7 +29,7 @@ do { \
#define DEFINE_PER_CPU(type, name) \
__typeof__(type) per_cpu__##name

-#define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var))
+#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var))
#define __get_cpu_var(var) per_cpu__##var

#endif /* SMP */
diff -Npru linux-2.6.12-rc4.base/include/asm-ia64/percpu.h linux-2.6.12-rc4/include/asm-ia64/percpu.h
--- linux-2.6.12-rc4.base/include/asm-ia64/percpu.h 2005-03-02 08:38:17.000000000 +0100
+++ linux-2.6.12-rc4/include/asm-ia64/percpu.h 2005-03-15 14:40:12.000000000 +0100
@@ -50,7 +50,7 @@ extern void *per_cpu_init(void);

#else /* ! SMP */

-#define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var))
+#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var))
#define __get_cpu_var(var) per_cpu__##var
#define per_cpu_init() (__phys_per_cpu_start)

diff -Npru linux-2.6.12-rc4.base/include/asm-x86_64/percpu.h linux-2.6.12-rc4/include/asm-x86_64/percpu.h
--- linux-2.6.12-rc4.base/include/asm-x86_64/percpu.h 2005-03-02 08:38:13.000000000 +0100
+++ linux-2.6.12-rc4/include/asm-x86_64/percpu.h 2005-03-15 15:19:44.000000000 +0100
@@ -39,7 +39,7 @@ extern void setup_per_cpu_areas(void);
#define DEFINE_PER_CPU(type, name) \
__typeof__(type) per_cpu__##name

-#define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var))
+#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var))
#define __get_cpu_var(var) per_cpu__##var

#endif /* SMP */