diff options
author | Russell King <rmk@flint.arm.linux.org.uk> | 2005-01-11 23:37:59 +0000 |
---|---|---|
committer | Russell King <rmk@flint.arm.linux.org.uk> | 2005-01-11 23:37:59 +0000 |
commit | 3a7cccbdbd3013f19fad3b8c2acd2af851165137 (patch) | |
tree | 69898d254e94c8e33930c5ad9137ec6489e0574c /arch | |
parent | 902e60c56b03d5b70df72b2269223eb60e0aeedd (diff) | |
download | history-3a7cccbdbd3013f19fad3b8c2acd2af851165137.tar.gz |
[ARM] Relocate ipi_count into ipi data structures.
This removes ipi_count from the globally visible per-cpu cpu data
structure.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/kernel/smp.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 9c7874cebb43e6..abd3a8133eef4e 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -42,6 +42,7 @@ cpumask_t cpu_online_map; */ struct ipi_data { spinlock_t lock; + unsigned long ipi_count; unsigned long bits; }; @@ -242,12 +243,12 @@ int smp_call_function(void (*func)(void *info), void *info, int retry, 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) - 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'); } @@ -316,12 +317,11 @@ static void ipi_cpu_stop(unsigned int cpu) void do_IPI(unsigned int ipimask, struct pt_regs *regs) { 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)) { - struct ipi_data *ipi = &per_cpu(ipi_data, cpu); - for (;;) { unsigned long msgs; |