[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen optimization
Hi, > I think we want to fully understand how many other interrupts the > baremetal guest is receiving. To do that, we can modify my previous > patch to suppress any debug messages for virq=68. That way, we should > only see the other interrupts. Ideally there would be none. > diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c > index 5a4f082..b7a8e17 100644 > --- a/xen/arch/arm/vgic.c > +++ b/xen/arch/arm/vgic.c > @@ -577,7 +577,11 @@ void vgic_inject_irq(struct domain *d, struct vcpu *v, > unsigned int virq, > /* the irq is enabled */ > if ( test_bit(GIC_IRQ_GUEST_ENABLED, &n->status) ) > + { > gic_raise_guest_irq(v, virq, priority); > + if ( d->domain_id != 0 && virq != 68 ) > + printk("DEBUG virq=%d local=%d\n",virq,v == current); > + } > list_for_each_entry ( iter, &v->arch.vgic.inflight_irqs, inflight ) > { when I apply this patch there are no prints nor debug messages in xl dmesg. So bare-metal receives only interrupt 68, which is good. > Next step would be to verify that there are no other physical interrupts > interrupting the vcpu execution other the irq=68. We should be able to > check that with the following debug patch: > > diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c > index e524ad5..b34c3e4 100644 > --- a/xen/arch/arm/gic.c > +++ b/xen/arch/arm/gic.c > @@ -381,6 +381,13 @@ void gic_interrupt(struct cpu_user_regs *regs, int > is_fiq) > /* Reading IRQ will ACK it */ > irq = gic_hw_ops->read_irq(); > + if (current->domain->domain_id > 0 && irq != 68) > + { > + local_irq_enable(); > + printk("DEBUG irq=%d\n",irq); > + local_irq_disable(); > + } > + > if ( likely(irq >= 16 && irq < 1020) ) > { > local_irq_enable(); But when I apply this patch it prints forever: (XEN) DEBUG irq=1023 Thanks in advance! Milan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |