[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCH 41/49] ARM: new VGIC: dump virtual IRQ info

On 02/26/2018 04:58 PM, Andre Przywara wrote:

On 19/02/18 12:26, Julien Grall wrote:
Hi Andre,

On 09/02/18 14:39, Andre Przywara wrote:
When we dump guest state on the Xen console, we also print the state of
IRQs that are on a VCPU.
Add the code to dump the state of an IRQ handled by the new VGIC.

Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxx>
   xen/arch/arm/vgic/vgic.c | 13 +++++++++++++
   1 file changed, 13 insertions(+)

diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index 3b475ed1a4..97ffdba5ad 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -757,6 +757,19 @@ void vgic_free_virq(struct domain *d, unsigned
int virq)
       clear_bit(virq, d->arch.vgic.allocated_irqs);
   +void gic_dump_vgic_info(struct vcpu *v)
+    struct vgic_cpu *vgic_cpu = &v->arch.vgic_cpu;
+    struct vgic_irq *irq;
+    list_for_each_entry(irq, &vgic_cpu->ap_list_head, ap_list)

I don't think you can assume that the vCPU is not running somewhere
else. So likely you want to take the lock while dumping the info.

Oh, good point. Totally forgot the locking here :-(
Same for the IRQs within.
Thanks for pointing this out.

+        printk("   on CPU: %s %s irq %u: %spending, %sactive,

I am not sure the value of "on CPU".

That is meant to be a short phrase for "being on the ap_list", which is
an implementation specific term. "Active" or "pending" alone are
confusing or misleading. If you have a better term (not too long!), I am
happy to take that.

How about a print before dumping the list? This would avoid the on CPU on each line and it can be longer :).


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.