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

[Xen-devel] [RFC v2 04/16] gic: drop interrupts enabling on interrupts processing

From: Andrii Anisov <andrii_anisov@xxxxxxxx>

This reduces the number of context switches in case we have coming guest
interrupts from different sources at a high rate. What is likely for
multimedia use-cases.
Having irqs unlocked here makes us go through trap path again in case we
have a new guest interrupt arrived (even with the same priority, after
`desc->handler->end(desc)`), what is just a processor cycles wasting. We
will catch them all in the `gic_interrupt() function loop anyway. And
the guest irqs arrival prioritization is meaningless here, it is only
effective at guest's level.

Signed-off-by: Andrii Anisov <andrii_anisov@xxxxxxxx>

The patch message is improved.

 xen/arch/arm/gic.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index f576b66..ecaa3d6 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -406,10 +406,8 @@ void gic_interrupt(struct cpu_user_regs *regs, int is_fiq)
         if ( likely(irq >= 16 && irq < 1020) )
-            local_irq_enable();
             do_IRQ(regs, irq, is_fiq);
-            local_irq_disable();
 #ifdef CONFIG_GICV3
         else if ( is_lpi(irq) )

Xen-devel mailing list



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