Commit 3a7cccbd authored by Russell King's avatar Russell King

[ARM] Relocate ipi_count into ipi data structures.

This removes ipi_count from the globally visible per-cpu cpu data
structure.
parent 902e60c5
...@@ -42,6 +42,7 @@ cpumask_t cpu_online_map; ...@@ -42,6 +42,7 @@ cpumask_t cpu_online_map;
*/ */
struct ipi_data { struct ipi_data {
spinlock_t lock; spinlock_t lock;
unsigned long ipi_count;
unsigned long bits; unsigned long bits;
}; };
...@@ -242,12 +243,12 @@ int smp_call_function(void (*func)(void *info), void *info, int retry, ...@@ -242,12 +243,12 @@ int smp_call_function(void (*func)(void *info), void *info, int retry,
void show_ipi_list(struct seq_file *p) void show_ipi_list(struct seq_file *p)
{ {
int cpu; unsigned int cpu;
seq_printf(p, "IPI: "); seq_puts(p, "IPI:");
for_each_online_cpu(cpu) for_each_online_cpu(cpu)
seq_printf(p, "%10lu ", per_cpu(cpu_data, cpu).ipi_count); seq_printf(p, " %10lu", per_cpu(ipi_data, cpu).ipi_count);
seq_putc(p, '\n'); seq_putc(p, '\n');
} }
...@@ -316,12 +317,11 @@ static void ipi_cpu_stop(unsigned int cpu) ...@@ -316,12 +317,11 @@ static void ipi_cpu_stop(unsigned int cpu)
void do_IPI(unsigned int ipimask, struct pt_regs *regs) void do_IPI(unsigned int ipimask, struct pt_regs *regs)
{ {
unsigned int cpu = smp_processor_id(); unsigned int cpu = smp_processor_id();
struct ipi_data *ipi = &per_cpu(ipi_data, cpu);
per_cpu(cpu_data, cpu).ipi_count++; ipi->ipi_count++;
if (ipimask & (1 << 0)) { if (ipimask & (1 << 0)) {
struct ipi_data *ipi = &per_cpu(ipi_data, cpu);
for (;;) { for (;;) {
unsigned long msgs; unsigned long msgs;
......
...@@ -17,7 +17,6 @@ struct cpuinfo_arm { ...@@ -17,7 +17,6 @@ struct cpuinfo_arm {
struct cpu cpu; struct cpu cpu;
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
unsigned int loops_per_jiffy; unsigned int loops_per_jiffy;
unsigned long ipi_count;
#endif #endif
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment