ARM64: /proc/interrupts: display IPIs of online CPUs only
authorSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Thu, 7 Nov 2013 15:25:44 +0000 (15:25 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 7 Nov 2013 17:26:54 +0000 (17:26 +0000)
The non-IPI interrupts are displayed only for the online cpus from
show_interrupts in kernel/irq/proc.c before calling arch_show_interrupts().
As a result, the column headers and the IPI count don't match if any
CPU is offline.

This patch fixes show_ipi_list to display IPIs for online CPUs only.

Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/smp.c

index 3abb9e797dd4c5b283295e817b6bf71e38bc592c..a5aeefab03c3e9cd2c0a241d4f4632bb0933b31f 100644 (file)
@@ -455,7 +455,7 @@ void show_ipi_list(struct seq_file *p, int prec)
        for (i = 0; i < NR_IPI; i++) {
                seq_printf(p, "%*s%u:%s", prec - 1, "IPI", i + IPI_RESCHEDULE,
                           prec >= 4 ? " " : "");
-               for_each_present_cpu(cpu)
+               for_each_online_cpu(cpu)
                        seq_printf(p, "%10u ",
                                   __get_irq_stat(cpu, ipi_irqs[i]));
                seq_printf(p, "      %s\n", ipi_types[i]);