arch/arm/kernel/smp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
On a system with less than 1000 interrupts, prec = 3, causing a
misalignment for the IPI interrupts. E.g. on Koelsch (R-Car M2-W):
200: 0 0 gpio-rcar 6 Edge SW36
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 1701 2844 Rescheduling interrupts
IPI3: 10338 21181 Function call interrupts
IPI4: 0 0 CPU stop interrupts
IPI5: 651 825 IRQ work interrupts
IPI6: 0 0 completion interrupts
Err: 0
Fix this by adopting the same solution as used on arm64.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
arch/arm/kernel/smp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 3431c0553f45cdf5..50999886a8b5cbab 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -551,7 +551,8 @@ void show_ipi_list(struct seq_file *p, int prec)
if (!ipi_desc[i])
continue;
- seq_printf(p, "%*s%u: ", prec - 1, "IPI", i);
+ seq_printf(p, "%*s%u:%s", prec - 1, "IPI", i,
+ prec >= 4 ? " " : "");
for_each_online_cpu(cpu)
seq_printf(p, "%10u ", irq_desc_kstat_cpu(ipi_desc[i], cpu));
--
2.34.1
On 11/20/24 15:24, Geert Uytterhoeven wrote: > On a system with less than 1000 interrupts, prec = 3, causing a > misalignment for the IPI interrupts. E.g. on Koelsch (R-Car M2-W): > > 200: 0 0 gpio-rcar 6 Edge SW36 > IPI0: 0 0 CPU wakeup interrupts > IPI1: 0 0 Timer broadcast interrupts > IPI2: 1701 2844 Rescheduling interrupts > IPI3: 10338 21181 Function call interrupts > IPI4: 0 0 CPU stop interrupts > IPI5: 651 825 IRQ work interrupts > IPI6: 0 0 completion interrupts > Err: 0 > > Fix this by adopting the same solution as used on arm64. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > arch/arm/kernel/smp.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c > index 3431c0553f45cdf5..50999886a8b5cbab 100644 > --- a/arch/arm/kernel/smp.c > +++ b/arch/arm/kernel/smp.c > @@ -551,7 +551,8 @@ void show_ipi_list(struct seq_file *p, int prec) > if (!ipi_desc[i]) > continue; > > - seq_printf(p, "%*s%u: ", prec - 1, "IPI", i); > + seq_printf(p, "%*s%u:%s", prec - 1, "IPI", i, > + prec >= 4 ? " " : ""); > > for_each_online_cpu(cpu) > seq_printf(p, "%10u ", irq_desc_kstat_cpu(ipi_desc[i], cpu)); LGTM Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
© 2016 - 2024 Red Hat, Inc.