aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/event.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-06-17 07:22:06 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-06-17 07:22:06 +0100
commit38b998cfb6e8b572a265bb6ba400a1db700e5882 (patch)
tree48c0ab213ece61a89dffabc452fbdd3285506238 /xen/include/xen/event.h
parent56d6b7ac5dedb2413b22713e3760a617a3d5e260 (diff)
downloadxen-38b998cfb6e8b572a265bb6ba400a1db700e5882.tar.gz
xen-38b998cfb6e8b572a265bb6ba400a1db700e5882.tar.bz2
xen-38b998cfb6e8b572a265bb6ba400a1db700e5882.zip
x86: IRQ affinity should track vCPU affinity
With IRQs getting bound to the CPU the binding vCPU currently runs on there can result quite a bit of extra cross CPU traffic as soon as that vCPU moves to a different pCPU. Likewise, when a domain re-binds an event channel associated with a pIRQ, that IRQ's affinity should also be adjusted. The open issue is how to break ties for interrupts shared by multiple domains - currently, the last request (at any point in time) is being honored. Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/include/xen/event.h')
-rw-r--r--xen/include/xen/event.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index 0adb2eb93e..f39207c8d0 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -47,6 +47,9 @@ long evtchn_bind_vcpu(unsigned int port, unsigned int vcpu_id);
/* Unmask a local event-channel port. */
int evtchn_unmask(unsigned int port);
+/* Move all PIRQs after a vCPU was moved to another pCPU. */
+void evtchn_move_pirqs(struct vcpu *v);
+
/* Allocate/free a Xen-attached event channel port. */
int alloc_unbound_xen_event_channel(
struct vcpu *local_vcpu, domid_t remote_domid);