提交 cab8c6f3 编写于 作者: R Russell King

ARM: SMP: move ipi_count into irq_stat structure

Move the ipi_count into irq_stat, which allows the ipi_data structure
to be entirely removed.
Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 46c48f22
...@@ -10,6 +10,9 @@ typedef struct { ...@@ -10,6 +10,9 @@ typedef struct {
#ifdef CONFIG_LOCAL_TIMERS #ifdef CONFIG_LOCAL_TIMERS
unsigned int local_timer_irqs; unsigned int local_timer_irqs;
#endif #endif
#ifdef CONFIG_SMP
unsigned int ipi_irqs;
#endif
} ____cacheline_aligned irq_cpustat_t; } ____cacheline_aligned irq_cpustat_t;
#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
......
...@@ -46,15 +46,6 @@ ...@@ -46,15 +46,6 @@
*/ */
struct secondary_data secondary_data; struct secondary_data secondary_data;
/*
* structures for inter-processor calls
*/
struct ipi_data {
unsigned long ipi_count;
};
static DEFINE_PER_CPU(struct ipi_data, ipi_data);
enum ipi_msg_type { enum ipi_msg_type {
IPI_TIMER = 2, IPI_TIMER = 2,
IPI_RESCHEDULE, IPI_RESCHEDULE,
...@@ -398,7 +389,7 @@ void show_ipi_list(struct seq_file *p) ...@@ -398,7 +389,7 @@ void show_ipi_list(struct seq_file *p)
seq_puts(p, "IPI:"); seq_puts(p, "IPI:");
for_each_present_cpu(cpu) for_each_present_cpu(cpu)
seq_printf(p, " %10lu", per_cpu(ipi_data, cpu).ipi_count); seq_printf(p, " %10u", __get_irq_stat(cpu, ipi_irqs));
seq_putc(p, '\n'); seq_putc(p, '\n');
} }
...@@ -513,10 +504,9 @@ static void ipi_cpu_stop(unsigned int cpu) ...@@ -513,10 +504,9 @@ static void ipi_cpu_stop(unsigned int cpu)
asmlinkage void __exception do_IPI(int ipinr, struct pt_regs *regs) asmlinkage void __exception do_IPI(int ipinr, 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);
struct pt_regs *old_regs = set_irq_regs(regs); struct pt_regs *old_regs = set_irq_regs(regs);
ipi->ipi_count++; __inc_irq_stat(cpu, ipi_irqs);
switch (ipinr) { switch (ipinr) {
case IPI_TIMER: case IPI_TIMER:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册