Skip to contentSkip to conversation

Add irq host and hwirq pair fields to output when showing interrupts.

PATCH In review Zhang Wei 2 participants 6 messages Mar 13, 2007 – Mar 15, 2007 PowerPC

lore
Share & tools
lore

Zhang Wei

author
#0 lore raw

PATCH 1/1 Add irq host and hwirq pair fields to output when showing interrupts.

---
 arch/powerpc/kernel/irq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/powerpc/kernel/irq.c +1 -1
index 919fbf5..2a30ffd 100644
@@ -194,7 +194,7 @@ #else
 		seq_printf(p, "%10u ", kstat_irqs(i));
 #endif /* CONFIG_SMP */
 		if (desc->chip)
-			seq_printf(p, " %s ", desc->chip->typename);
+			seq_printf(p, " (%3d) @%s ", (irq_map[i].host->revmap_type == IRQ_HOST_MAP_LEGACY) ? i : virq_to_hw(i), desc->chip->typename);
 		else
 			seq_puts(p, "  None      ");
 		seq_printf(p, "%s", (desc->status & IRQ_LEVEL) ? "Level " : "Edge  ");
Signature · 1 line
1.4.0
#1 lore raw
Quoted 10 lines · Zhang Wei
---
 arch/powerpc/kernel/irq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/powerpc/kernel/irq.c +0 -0
index 919fbf5..2a30ffd 100644

arch/powerpc/kernel/irq.c #else · line 200

Quoted 8 lines
arch/powerpc/kernel/irq.c +1 -1
@@ -194,7 +194,7 @@ #else
 		seq_printf(p, "%10u ", kstat_irqs(i));
 #endif /* CONFIG_SMP */
 		if (desc->chip)
-			seq_printf(p, " %s ", desc->chip->typename);
+			seq_printf(p, " (%3d) @%s ", (irq_map[i].host->revmap_type == IRQ_HOST_MAP_LEGACY) ? i : virq_to_hw(i), desc->chip->typename);
 		else
 			seq_puts(p, "  None      ");
 		seq_printf(p, "%s", (desc->status & IRQ_LEVEL) ? "Level " : "Edge  ");

Well, first, we shouldn't modify the output of /proc/interrupts as this will likely break all sort of userland tools displaying it (well, I think).

Now, regarding the patch itself, printing the hw irq is not that useful without some indication of which host it belongs to. Best is to add a name() or something like that to the host ops.

Ben.

#2 lore raw

RE: [PATCH] Add irq host and hwirq pair fields to output whenshowing interrupts.

Quoted 21 lines · Zhang Wei
Quoted 10 lines
---
 arch/powerpc/kernel/irq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

=20

arch/powerpc/kernel/irq.c +0 -0
index 919fbf5..2a30ffd 100644

arch/powerpc/kernel/irq.c #else · line 197

Quoted 5 lines
arch/powerpc/kernel/irq.c +1 -1
@@ -194,7 +194,7 @@ #else
 		seq_printf(p, "%10u ", kstat_irqs(i));
 #endif /* CONFIG_SMP */
 		if (desc->chip)
-			seq_printf(p, " %s ", desc->chip->typename);
+			seq_printf(p, " (%3d) @%s ",=20

(irq_map[i].host->revmap_type =3D=3D IRQ_HOST_MAP_LEGACY) ? i :=20 virq_to_hw(i), desc->chip->typename);

arch/powerpc/kernel/irq.c #else

Quoted 3 lines
arch/powerpc/kernel/irq.c +0 -0
 		else
 			seq_puts(p, "  None      ");
 		seq_printf(p, "%s", (desc->status & IRQ_LEVEL)=20
Quoted 12 lines

? "Level " : "Edge ");
=20
Well, first, we shouldn't modify the output of=20 /proc/interrupts as this
will likely break all sort of userland tools displaying it (well, I think).
=20
Now, regarding the patch itself, printing the hw irq is not=20 that useful
without some indication of which host it belongs to. Best is to add a name() or something like that to the host ops.
=20

Sure, can I use the PIC controller node full name from of_tree as the host name?

Do you prefer debugfs instead of /proc/interrupts?

Thanks!
Zhang Wei

#3 lore raw

RE: [PATCH] Add irq host and hwirq pair fields to output whenshowing interrupts.

Quoted 9 lines
Quoted 6 lines

Now, regarding the patch itself, printing the hw irq is not that useful
without some indication of which host it belongs to. Best is to add a name() or something like that to the host ops.

Sure, can I use the PIC controller node full name from of_tree as the host name?

There is no 1:1 relationship between an OF node and an irq host. (There is -most- of the time but I left the irq core on purpose more flexible, hence the match() method. On some setups it makes sense to have multiple HW PICs share a single domain number (for example on cell).

Thus I'd rather have a way for the host to give you that name, which in turn can be the OF path if there is such a thing, or something else...

Best might be 4 columns:

<virq> <hwirq> <pic name> <host name>

(PIC name is the same as in /proc/interrupts).

Quoted 1 line

Do you prefer debugfs instead of /proc/interrupts?

Yes, at least for now. Maybe if we can convince ourselves that nothing significant would break of changing /proc/interrupts, then we can add stuffs to it, but I'd rather avoid.

Ben.

#4 lore raw

RE: [PATCH] Add irq host and hwirq pair fields to outputwhenshowing interrupts.

Quoted 29 lines
Quoted 3 lines
Quoted 3 lines

Now, regarding the patch itself, printing the hw irq is not=20 that useful
without some indication of which host it belongs to. Best=20

is to add a

Quoted 4 lines
Quoted 2 lines

name() or something like that to the host ops.
=20

=20
Sure, can I use the PIC controller node full name from=20

of_tree as the

Quoted 1 line

host name?

=20
There is no 1:1 relationship between an OF node and an irq=20 host. (There
is -most- of the time but I left the irq core on purpose more=20 flexible,
hence the match() method. On some setups it makes sense to=20 have multiple
HW PICs share a single domain number (for example on cell). =20
Thus I'd rather have a way for the host to give you that=20 name, which in
turn can be the OF path if there is such a thing, or something else... =20
Best might be 4 columns:
=20
<virq> <hwirq> <pic name> <host name>
=20
(PIC name is the same as in /proc/interrupts).
=20

Quoted 6 lines
Quoted 1 line

Do you prefer debugfs instead of /proc/interrupts?

=20
Yes, at least for now. Maybe if we can convince ourselves that nothing significant would break of changing /proc/interrupts, then we can add stuffs to it, but I'd rather avoid.
=20

Hi, Ben,=20

How about set the host name when calling irq_alloc_host? In the mpic, the host name can be the mpic->name, is it ok?

Thanks!
Best Regards,
Zhang Wei

#5 lore raw

RE: [PATCH] Add irq host and hwirq pair fields to outputwhenshowing interrupts.

Quoted 10 lines
Quoted 5 lines

Yes, at least for now. Maybe if we can convince ourselves that nothing significant would break of changing /proc/interrupts, then we can add stuffs to it, but I'd rather avoid.

Hi, Ben,

How about set the host name when calling irq_alloc_host? In the mpic, the host name can be the mpic->name, is it ok?

For MPIC it should probably be the OF full path