diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-06-17 07:22:06 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-06-17 07:22:06 +0100 |
commit | 38b998cfb6e8b572a265bb6ba400a1db700e5882 (patch) | |
tree | 48c0ab213ece61a89dffabc452fbdd3285506238 /xen/common/sched_sedf.c | |
parent | 56d6b7ac5dedb2413b22713e3760a617a3d5e260 (diff) | |
download | xen-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/common/sched_sedf.c')
-rw-r--r-- | xen/common/sched_sedf.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/common/sched_sedf.c b/xen/common/sched_sedf.c index 8795f67774..be71432de9 100644 --- a/xen/common/sched_sedf.c +++ b/xen/common/sched_sedf.c @@ -875,6 +875,8 @@ static struct task_slice sedf_do_schedule( ret.time = EXTRA_QUANTUM; } + ret.migrated = 0; + EDOM_INFO(ret.task)->sched_start_abs = now; CHECK(ret.time > 0); ASSERT(sedf_runnable(ret.task)); |