xen-devel
RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64
> >> Magenheimer, Dan (HP Labs Fort Collins) wrote:
> >>
> >> Is there a better way (for ia64)? I kind of like the solution
> >> Keir and Ian imply... is it possible in context_switch to simply
> >> "refuse" to switch to the idle domain? E.g. if the idle domain
> >> is the target of the switch, instead switch to domain0 (and
> >> make it runnable)?
> >
> > This seems not easy to be simply done in context_switch
> without common
> > change. Preventing switch to IDLE is easy, and a simple check in
> > context_switch can achieve. However the really bad thing is about
> > housekeep info within scheduler. Eg. domain0 may have been placed on
> > waitq, with begin of next period still far away. Stealing
> slice of IDLE
> > to Dom0 without notifying scheduler, may mess the future
> decision since
> > next schedule will happen on Dom0's context and base on dom0's
> > statistic
> > info...
>
> See how x86 does this in context_switch() (arch/x86/domain.c). In
> particular, __context_switch is avoided for the idle domain, so the
> context restored is some register pops in
> ret_from_intr/restore_all_xen
> (arch/x86/x86_32/entry.S).
Neat, but doesn't this only solve half the problem? Idle is now
an "impostor" for the last runnable domain. Generally the machine
goes idle because all domains are waiting for a device interrupt.
Since (in general) all device interrupts go through domain0,
a context switch is still necessary from idle=last_runnable_domain
to domain0 to process the device interrupt, then back to domU to
process the virtual interrupt.
In a I/O bound system, interrupt latency still seems to be
twice what it could be.
A related idea though for the scheduler experts to think about:
Is it possible for idle to be an "alias" for domain0?
Dan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Magenheimer, Dan (HP Labs Fort Collins)
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Tian, Kevin
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64,
Magenheimer, Dan (HP Labs Fort Collins) <=
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Tian, Kevin
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Ian Pratt
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Tian, Kevin
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Tian, Kevin
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Ian Pratt
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Tian, Kevin
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Magenheimer, Dan (HP Labs Fort Collins)
- RE: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64, Magenheimer, Dan (HP Labs Fort Collins)
|
|
|