From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: julien.grall@citrix.com, tim@xen.org, Ian.Campbell@citrix.com,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [PATCH v3 11/13] xen/arm: send IPIs to inject irqs into guest vcpus running on different pcpus
Date: Wed, 24 Apr 2013 20:07:41 +0100 [thread overview]
Message-ID: <1366830463-12153-11-git-send-email-stefano.stabellini@eu.citrix.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1304242005000.4180@kaball.uk.xensource.com>
If we need to inject an irq into a guest that is running on a different
processor, we shouldn't just enqueue the irq into the lr_pending and
inflight lists and wait for something to interrupt the guest execution.
Send an IPI to the target pcpu so that Xen can inject the new interrupt
returning to guest.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
xen/arch/arm/vgic.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 8912aab..547a2ab 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -664,6 +664,8 @@ out:
spin_unlock_irqrestore(&v->arch.vgic.lock, flags);
/* we have a new higher priority irq, inject it into the guest */
vcpu_unblock(v);
+ if ( v != current && v->is_running )
+ smp_send_event_check_mask(cpumask_of(v->processor));
}
/*
--
1.7.2.5
next prev parent reply other threads:[~2013-04-24 19:07 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-24 19:06 [PATCH v3 0/13] xen/arm: guest SMP support Stefano Stabellini
2013-04-24 19:07 ` [PATCH v3 01/13] xen/arm: basic PSCI support, implement cpu_on and cpu_off Stefano Stabellini
2013-04-25 9:53 ` Ian Campbell
2013-04-25 10:57 ` Stefano Stabellini
2013-04-25 11:31 ` Ian Campbell
2013-04-24 19:07 ` [PATCH v3 02/13] xen/arm: allocate secondaries dom0 vcpus Stefano Stabellini
2013-04-25 10:08 ` Ian Campbell
2013-04-26 13:23 ` Stefano Stabellini
2013-04-26 13:25 ` Ian Campbell
2013-04-24 19:07 ` [PATCH v3 03/13] xen: introduce cpumask_from_bitmap Stefano Stabellini
2013-04-25 9:24 ` Jan Beulich
2013-04-25 10:01 ` Ian Campbell
2013-04-25 14:26 ` Keir Fraser
2013-04-25 14:42 ` Ian Campbell
2013-04-25 14:44 ` Ian Campbell
2013-04-25 14:51 ` Ian Campbell
2013-04-25 15:13 ` Keir Fraser
2013-04-25 15:23 ` Ian Campbell
2013-04-25 17:20 ` Keir Fraser
2013-04-25 15:08 ` Stefano Stabellini
2013-04-25 15:17 ` Keir Fraser
2013-04-25 15:18 ` Jan Beulich
2013-04-25 15:17 ` Jan Beulich
2013-04-25 10:01 ` Stefano Stabellini
2013-04-25 10:08 ` Jan Beulich
2013-04-25 10:35 ` Stefano Stabellini
2013-04-25 10:49 ` Jan Beulich
2013-04-25 11:38 ` Stefano Stabellini
2013-04-25 12:49 ` Jan Beulich
2013-04-25 14:27 ` Keir Fraser
2013-04-24 19:07 ` [PATCH v3 04/13] xen/arm: support for guest SGI Stefano Stabellini
2013-04-25 10:16 ` Ian Campbell
2013-04-25 19:03 ` Julien Grall
2013-04-26 9:05 ` Ian Campbell
2013-04-26 11:46 ` Julien Grall
2013-04-26 12:12 ` Sander Bogaert
2013-04-26 13:07 ` Stefano Stabellini
2013-04-26 13:24 ` Ian Campbell
2013-04-26 13:35 ` Julien Grall
2013-04-26 13:56 ` Sander Bogaert
2013-04-26 14:10 ` Ian Campbell
2013-04-26 13:28 ` Julien Grall
2013-04-24 19:07 ` [PATCH v3 05/13] xen/arm: early_ioremap: allocate virtual addresses from top to bottom Stefano Stabellini
2013-04-25 10:27 ` Ian Campbell
2013-04-24 19:07 ` [PATCH v3 06/13] xen/arm: implement arch_vmap_virt_end Stefano Stabellini
2013-04-25 10:29 ` Ian Campbell
2013-04-24 19:07 ` [PATCH v3 07/13] xen/arm: compile and initialize vmap Stefano Stabellini
2013-04-25 10:41 ` Ian Campbell
2013-04-25 17:04 ` Stefano Stabellini
2013-04-26 9:00 ` Ian Campbell
2013-04-26 12:02 ` Stefano Stabellini
2013-04-26 13:21 ` Ian Campbell
2013-04-24 19:07 ` [PATCH v3 08/13] xen/arm: implement map_domain_page_global and unmap_domain_page_global Stefano Stabellini
2013-04-25 10:43 ` Ian Campbell
2013-04-24 19:07 ` [PATCH v3 09/13] xen: move VCPUOP_register_vcpu_info to common code Stefano Stabellini
2013-04-25 10:45 ` Ian Campbell
2013-04-24 19:07 ` [PATCH v3 10/13] xen/arm: support VCPUOP_register_vcpu_info Stefano Stabellini
2013-04-25 10:50 ` Ian Campbell
2013-04-25 11:38 ` Stefano Stabellini
2013-04-25 11:40 ` Ian Campbell
2013-04-25 11:41 ` Stefano Stabellini
2013-04-25 14:29 ` Keir Fraser
2013-04-25 14:39 ` Ian Campbell
2013-04-24 19:07 ` Stefano Stabellini [this message]
2013-04-25 11:00 ` [PATCH v3 11/13] xen/arm: send IPIs to inject irqs into guest vcpus running on different pcpus Ian Campbell
2013-04-26 13:39 ` Stefano Stabellini
2013-04-26 14:08 ` Ian Campbell
2013-04-24 19:07 ` [PATCH v3 12/13] xen/arm: start the vtimer Xen timers on the processor they should be running on Stefano Stabellini
2013-04-25 11:03 ` Ian Campbell
2013-04-26 14:30 ` Stefano Stabellini
2013-04-26 14:35 ` Ian Campbell
2013-04-26 14:36 ` Stefano Stabellini
2013-04-24 19:07 ` [PATCH v3 13/13] xen/arm: initialize virt_timer and phys_timer with the same values on all vcpus Stefano Stabellini
2013-04-25 11:21 ` Ian Campbell
2013-04-26 14:30 ` Stefano Stabellini
2013-04-26 14:37 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1366830463-12153-11-git-send-email-stefano.stabellini@eu.citrix.com \
--to=stefano.stabellini@eu.citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=julien.grall@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).