[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |