From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephan Diestelhorst Subject: Re: scheduler independent forced vcpu selection Date: Thu, 19 May 2005 14:22:23 +0100 Message-ID: <428C930F.6060907@cl.cam.ac.uk> References: <20050517204832.GH7305@us.ibm.com> <428B30BC.8070602@cl.cam.ac.uk> <20050518180307.GK7305@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20050518180307.GK7305@us.ibm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ryan Harper , xen-devel List-Id: xen-devel@lists.xenproject.org Ryan Harper schrieb: > * Stephan Diestelhorst [2005-05-18 09:04]: > >>The timer assertion might be the old scheduling timer, which gets >>probably reset, but not deleted beforehand... And the on runqueue >>assertion suggests that you are 'stealing' the domain from the >>schedulers queues without giving it a chance to notice. > > > Looking at both bvt and sedf, the runqueue is ordered by some metric or > another (evt, deadline respectively). What I think we need is a way to > swap positions in the runqueues. That is, if the lock holder is > runnable, I want the holder to run instead of current. Is there some > way to do this in a scheduler independent manner with the current set of > scheduler ops defined in sched-if.h ? How about blocking/pausing the currently running domain? I can't think of another way of doing this in an scheduler independent fashion... > I noticed that neither bvt or sedf implement the rem_task function which > I thought could be used to help out with the 'stealing' by notifying the > schedulers that prev was going away (removing it from the runqueue) but > just removing the exec_domain from the runqueue didn't help. That is really nasty, and just describes what I meant with "stealing" a domain from the scheduler! :-) > I'm including a patch that I'm currently using so you can get a better > idea of the modifications to schedule.c I'm making. Thanks, Stephan