Re: [PATCH 10/16] percpu: make percpu symbols in powerpc unique

2009-10-26 Thread Benjamin Herrenschmidt
On Wed, 2009-10-14 at 15:01 +0900, Tejun Heo wrote:
 This patch updates percpu related symbols in powerpc such that percpu
 symbols are unique and don't clash with local symbols.  This serves
 two purposes of decreasing the possibility of global percpu symbol
 collision and allowing dropping per_cpu__ prefix from percpu symbols.
 
 * arch/powerpc/kernel/perf_callchain.c: s/callchain/cpu_perf_callchain/
 
 * arch/powerpc/kernel/setup-common.c: s/pvr/cpu_pvr/
 
 * arch/powerpc/platforms/pseries/dtl.c: s/dtl/cpu_dtl/
 
 * arch/powerpc/platforms/cell/interrupt.c: s/iic/cpu_iic/
 
 Partly based on Rusty Russell's alloc_percpu: rename percpu vars
 which cause name clashes patch.
 
 Signed-off-by: Tejun Heo t...@kernel.org
 Acked-by: Arnd Bergmann a...@arndb.de
 Cc: Rusty Russell ru...@rustcorp.com.au

Acked-by: Benjamin Herrenschmidt b...@kernel.crashing.org

Cheers,
Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH 10/16] percpu: make percpu symbols in powerpc unique

2009-10-14 Thread Tejun Heo
This patch updates percpu related symbols in powerpc such that percpu
symbols are unique and don't clash with local symbols.  This serves
two purposes of decreasing the possibility of global percpu symbol
collision and allowing dropping per_cpu__ prefix from percpu symbols.

* arch/powerpc/kernel/perf_callchain.c: s/callchain/cpu_perf_callchain/

* arch/powerpc/kernel/setup-common.c: s/pvr/cpu_pvr/

* arch/powerpc/platforms/pseries/dtl.c: s/dtl/cpu_dtl/

* arch/powerpc/platforms/cell/interrupt.c: s/iic/cpu_iic/

Partly based on Rusty Russell's alloc_percpu: rename percpu vars
which cause name clashes patch.

Signed-off-by: Tejun Heo t...@kernel.org
Acked-by: Arnd Bergmann a...@arndb.de
Cc: Rusty Russell ru...@rustcorp.com.au
Cc: Benjamin Herrenschmidt b...@kernel.crashing.org
Cc: Paul Mackerras pau...@samba.org
Cc: linuxppc-...@ozlabs.org
---
 arch/powerpc/include/asm/smp.h  |2 +-
 arch/powerpc/kernel/perf_callchain.c|4 ++--
 arch/powerpc/kernel/setup-common.c  |4 ++--
 arch/powerpc/kernel/smp.c   |2 +-
 arch/powerpc/platforms/cell/interrupt.c |   14 +++---
 arch/powerpc/platforms/pseries/dtl.c|4 ++--
 6 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
index d9ea8d3..1d3b270 100644
--- a/arch/powerpc/include/asm/smp.h
+++ b/arch/powerpc/include/asm/smp.h
@@ -37,7 +37,7 @@ extern void cpu_die(void);
 extern void smp_send_debugger_break(int cpu);
 extern void smp_message_recv(int);
 
-DECLARE_PER_CPU(unsigned int, pvr);
+DECLARE_PER_CPU(unsigned int, cpu_pvr);
 
 #ifdef CONFIG_HOTPLUG_CPU
 extern void fixup_irqs(cpumask_t map);
diff --git a/arch/powerpc/kernel/perf_callchain.c 
b/arch/powerpc/kernel/perf_callchain.c
index 0a03cf7..fe59c44 100644
--- a/arch/powerpc/kernel/perf_callchain.c
+++ b/arch/powerpc/kernel/perf_callchain.c
@@ -497,11 +497,11 @@ static void perf_callchain_user_32(struct pt_regs *regs,
  * Since we can't get PMU interrupts inside a PMU interrupt handler,
  * we don't need separate irq and nmi entries here.
  */
-static DEFINE_PER_CPU(struct perf_callchain_entry, callchain);
+static DEFINE_PER_CPU(struct perf_callchain_entry, cpu_perf_callchain);
 
 struct perf_callchain_entry *perf_callchain(struct pt_regs *regs)
 {
-   struct perf_callchain_entry *entry = __get_cpu_var(callchain);
+   struct perf_callchain_entry *entry = __get_cpu_var(cpu_perf_callchain);
 
entry-nr = 0;
 
diff --git a/arch/powerpc/kernel/setup-common.c 
b/arch/powerpc/kernel/setup-common.c
index 4271f7a..aa5aeb9 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -157,7 +157,7 @@ extern u32 cpu_temp_both(unsigned long cpu);
 #endif /* CONFIG_TAU */
 
 #ifdef CONFIG_SMP
-DEFINE_PER_CPU(unsigned int, pvr);
+DEFINE_PER_CPU(unsigned int, cpu_pvr);
 #endif
 
 static int show_cpuinfo(struct seq_file *m, void *v)
@@ -209,7 +209,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
}
 
 #ifdef CONFIG_SMP
-   pvr = per_cpu(pvr, cpu_id);
+   pvr = per_cpu(cpu_pvr, cpu_id);
 #else
pvr = mfspr(SPRN_PVR);
 #endif
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 9b86a74..2ebb484 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -232,7 +232,7 @@ struct thread_info *current_set[NR_CPUS];
 
 static void __devinit smp_store_cpu_info(int id)
 {
-   per_cpu(pvr, id) = mfspr(SPRN_PVR);
+   per_cpu(cpu_pvr, id) = mfspr(SPRN_PVR);
 }
 
 static void __init smp_create_idle(unsigned int cpu)
diff --git a/arch/powerpc/platforms/cell/interrupt.c 
b/arch/powerpc/platforms/cell/interrupt.c
index 882e470..54bad90 100644
--- a/arch/powerpc/platforms/cell/interrupt.c
+++ b/arch/powerpc/platforms/cell/interrupt.c
@@ -54,7 +54,7 @@ struct iic {
struct device_node *node;
 };
 
-static DEFINE_PER_CPU(struct iic, iic);
+static DEFINE_PER_CPU(struct iic, cpu_iic);
 #define IIC_NODE_COUNT 2
 static struct irq_host *iic_host;
 
@@ -82,7 +82,7 @@ static void iic_unmask(unsigned int irq)
 
 static void iic_eoi(unsigned int irq)
 {
-   struct iic *iic = __get_cpu_var(iic);
+   struct iic *iic = __get_cpu_var(cpu_iic);
out_be64(iic-regs-prio, iic-eoi_stack[--iic-eoi_ptr]);
BUG_ON(iic-eoi_ptr  0);
 }
@@ -146,7 +146,7 @@ static unsigned int iic_get_irq(void)
struct iic *iic;
unsigned int virq;
 
-   iic = __get_cpu_var(iic);
+   iic = __get_cpu_var(cpu_iic);
*(unsigned long *) pending =
in_be64((u64 __iomem *) iic-regs-pending_destr);
if (!(pending.flags  CBE_IIC_IRQ_VALID))
@@ -161,12 +161,12 @@ static unsigned int iic_get_irq(void)
 
 void iic_setup_cpu(void)
 {
-   out_be64(__get_cpu_var(iic).regs-prio, 0xff);
+   out_be64(__get_cpu_var(cpu_iic).regs-prio, 0xff);
 }
 
 u8 iic_get_target_id(int cpu)
 {
-   return per_cpu(iic, cpu).target_id;
+   return per_cpu(cpu_iic, cpu).target_id;
 

Re: [PATCH 10/16] percpu: make percpu symbols in powerpc unique

2009-10-09 Thread Arnd Bergmann
On Wednesday 07 October 2009, Tejun Heo wrote:
 This patch updates percpu related symbols in powerpc such that percpu
 symbols are unique and don't clash with local symbols.  This serves
 two purposes of decreasing the possibility of global percpu symbol
 collision and allowing dropping per_cpu__ prefix from percpu symbols.
 
 * arch/powerpc/kernel/perf_callchain.c: s/callchain/cpu_perf_callchain/
 
 * arch/powerpc/kernel/setup-common.c: s/pvr/cpu_pvr/
 
 * arch/powerpc/platforms/pseries/dtl.c: s/dtl/cpu_dtl/
 
 * arch/powerpc/platforms/cell/interrupt.c: s/iic/cpu_iic/
 
 Partly based on Rusty Russell's alloc_percpu: rename percpu vars
 which cause name clashes patch.

Patch looks good, I checked both the cell bits I'm maintaining
and the other powerpc parts.

Acked-by: Arnd Bergmann a...@arndb.de
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH 10/16] percpu: make percpu symbols in powerpc unique

2009-10-07 Thread Tejun Heo
This patch updates percpu related symbols in powerpc such that percpu
symbols are unique and don't clash with local symbols.  This serves
two purposes of decreasing the possibility of global percpu symbol
collision and allowing dropping per_cpu__ prefix from percpu symbols.

* arch/powerpc/kernel/perf_callchain.c: s/callchain/cpu_perf_callchain/

* arch/powerpc/kernel/setup-common.c: s/pvr/cpu_pvr/

* arch/powerpc/platforms/pseries/dtl.c: s/dtl/cpu_dtl/

* arch/powerpc/platforms/cell/interrupt.c: s/iic/cpu_iic/

Partly based on Rusty Russell's alloc_percpu: rename percpu vars
which cause name clashes patch.

Signed-off-by: Tejun Heo t...@kernel.org
Cc: Rusty Russell ru...@rustcorp.com.au
Cc: Benjamin Herrenschmidt b...@kernel.crashing.org
Cc: Paul Mackerras pau...@samba.org
Cc: Arnd Bergmann a...@arndb.de
Cc: linuxppc-...@ozlabs.org
---
 arch/powerpc/include/asm/smp.h  |2 +-
 arch/powerpc/kernel/perf_callchain.c|4 ++--
 arch/powerpc/kernel/setup-common.c  |4 ++--
 arch/powerpc/kernel/smp.c   |2 +-
 arch/powerpc/platforms/cell/interrupt.c |   14 +++---
 arch/powerpc/platforms/pseries/dtl.c|4 ++--
 6 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
index d9ea8d3..1d3b270 100644
--- a/arch/powerpc/include/asm/smp.h
+++ b/arch/powerpc/include/asm/smp.h
@@ -37,7 +37,7 @@ extern void cpu_die(void);
 extern void smp_send_debugger_break(int cpu);
 extern void smp_message_recv(int);
 
-DECLARE_PER_CPU(unsigned int, pvr);
+DECLARE_PER_CPU(unsigned int, cpu_pvr);
 
 #ifdef CONFIG_HOTPLUG_CPU
 extern void fixup_irqs(cpumask_t map);
diff --git a/arch/powerpc/kernel/perf_callchain.c 
b/arch/powerpc/kernel/perf_callchain.c
index 0a03cf7..fe59c44 100644
--- a/arch/powerpc/kernel/perf_callchain.c
+++ b/arch/powerpc/kernel/perf_callchain.c
@@ -497,11 +497,11 @@ static void perf_callchain_user_32(struct pt_regs *regs,
  * Since we can't get PMU interrupts inside a PMU interrupt handler,
  * we don't need separate irq and nmi entries here.
  */
-static DEFINE_PER_CPU(struct perf_callchain_entry, callchain);
+static DEFINE_PER_CPU(struct perf_callchain_entry, cpu_perf_callchain);
 
 struct perf_callchain_entry *perf_callchain(struct pt_regs *regs)
 {
-   struct perf_callchain_entry *entry = __get_cpu_var(callchain);
+   struct perf_callchain_entry *entry = __get_cpu_var(cpu_perf_callchain);
 
entry-nr = 0;
 
diff --git a/arch/powerpc/kernel/setup-common.c 
b/arch/powerpc/kernel/setup-common.c
index 4271f7a..aa5aeb9 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -157,7 +157,7 @@ extern u32 cpu_temp_both(unsigned long cpu);
 #endif /* CONFIG_TAU */
 
 #ifdef CONFIG_SMP
-DEFINE_PER_CPU(unsigned int, pvr);
+DEFINE_PER_CPU(unsigned int, cpu_pvr);
 #endif
 
 static int show_cpuinfo(struct seq_file *m, void *v)
@@ -209,7 +209,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
}
 
 #ifdef CONFIG_SMP
-   pvr = per_cpu(pvr, cpu_id);
+   pvr = per_cpu(cpu_pvr, cpu_id);
 #else
pvr = mfspr(SPRN_PVR);
 #endif
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 9b86a74..2ebb484 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -232,7 +232,7 @@ struct thread_info *current_set[NR_CPUS];
 
 static void __devinit smp_store_cpu_info(int id)
 {
-   per_cpu(pvr, id) = mfspr(SPRN_PVR);
+   per_cpu(cpu_pvr, id) = mfspr(SPRN_PVR);
 }
 
 static void __init smp_create_idle(unsigned int cpu)
diff --git a/arch/powerpc/platforms/cell/interrupt.c 
b/arch/powerpc/platforms/cell/interrupt.c
index 882e470..54bad90 100644
--- a/arch/powerpc/platforms/cell/interrupt.c
+++ b/arch/powerpc/platforms/cell/interrupt.c
@@ -54,7 +54,7 @@ struct iic {
struct device_node *node;
 };
 
-static DEFINE_PER_CPU(struct iic, iic);
+static DEFINE_PER_CPU(struct iic, cpu_iic);
 #define IIC_NODE_COUNT 2
 static struct irq_host *iic_host;
 
@@ -82,7 +82,7 @@ static void iic_unmask(unsigned int irq)
 
 static void iic_eoi(unsigned int irq)
 {
-   struct iic *iic = __get_cpu_var(iic);
+   struct iic *iic = __get_cpu_var(cpu_iic);
out_be64(iic-regs-prio, iic-eoi_stack[--iic-eoi_ptr]);
BUG_ON(iic-eoi_ptr  0);
 }
@@ -146,7 +146,7 @@ static unsigned int iic_get_irq(void)
struct iic *iic;
unsigned int virq;
 
-   iic = __get_cpu_var(iic);
+   iic = __get_cpu_var(cpu_iic);
*(unsigned long *) pending =
in_be64((u64 __iomem *) iic-regs-pending_destr);
if (!(pending.flags  CBE_IIC_IRQ_VALID))
@@ -161,12 +161,12 @@ static unsigned int iic_get_irq(void)
 
 void iic_setup_cpu(void)
 {
-   out_be64(__get_cpu_var(iic).regs-prio, 0xff);
+   out_be64(__get_cpu_var(cpu_iic).regs-prio, 0xff);
 }
 
 u8 iic_get_target_id(int cpu)
 {
-   return per_cpu(iic, cpu).target_id;
+   return per_cpu(cpu_iic, cpu).target_id;
 }