WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Scheduler guts question

To: <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Scheduler guts question
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
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>