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: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
46c48f222f
commit
cab8c6f305
|
@ -10,6 +10,9 @@ typedef struct {
|
|||
#ifdef CONFIG_LOCAL_TIMERS
|
||||
unsigned int local_timer_irqs;
|
||||
#endif
|
||||
#ifdef CONFIG_SMP
|
||||
unsigned int ipi_irqs;
|
||||
#endif
|
||||
} ____cacheline_aligned irq_cpustat_t;
|
||||
|
||||
#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
|
||||
|
|
|
@ -46,15 +46,6 @@
|
|||
*/
|
||||
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 {
|
||||
IPI_TIMER = 2,
|
||||
IPI_RESCHEDULE,
|
||||
|
@ -398,7 +389,7 @@ void show_ipi_list(struct seq_file *p)
|
|||
seq_puts(p, "IPI:");
|
||||
|
||||
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');
|
||||
}
|
||||
|
@ -513,10 +504,9 @@ static void ipi_cpu_stop(unsigned int cpu)
|
|||
asmlinkage void __exception do_IPI(int ipinr, struct pt_regs *regs)
|
||||
{
|
||||
unsigned int cpu = smp_processor_id();
|
||||
struct ipi_data *ipi = &per_cpu(ipi_data, cpu);
|
||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||
|
||||
ipi->ipi_count++;
|
||||
__inc_irq_stat(cpu, ipi_irqs);
|
||||
|
||||
switch (ipinr) {
|
||||
case IPI_TIMER:
|
||||
|
|
Loading…
Reference in New Issue