[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Scheduler guts question


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
  • From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
  • Date: Fri, 4 Mar 2005 16:08:40 -0800
  • Delivery-date: Sat, 05 Mar 2005 00:10:41 +0000
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
  • Thread-index: AcUhF3yFp7DRNK3nT3Gs+bRE/ZRRvg==
  • Thread-topic: 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.