|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Scheduler guts question
I'm trying to track down a problem on Xen/ia64 and to help
find it, I need to better understand the common scheduler
code and probably the Xen/x86 implementation. The question
is: What forces a domain to give up the CPU?
At a high-level, it probably works something like this:
1) A timer interrupt occurs which causes an interrupt
handler (do_IRQ()->timer_interrupt()?) to be launched.
2) Some counter is incremented
3) The counter exceeds some threshold which results in
some routine being called which "evicts" the currently
running domain (or in -unstable the running exec_domain).
4) The scheduler is called (__enter_scheduler()?) which
looks at a queue to determine what tasks are runnable
and chooses one and launches it.
Looking at the code, I am missing some key connection
between the interrupt routines and the scheduler routines.
Perhaps there is some hidden call in a macro or in
a function pointer indirection that I am missing.
Could someone walk me through at a low level the sequence
of Xen/x86 calls that occur when a timer interrupt results in
some timer expiration that results in the currently running
domain getting "paused" and another domain launched?
Thanks for any help!
Dan
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Scheduler guts question,
Magenheimer, Dan (HP Labs Fort Collins) <=
|
|
|
|
|