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

RE: [Xen-devel] RE: The caculation of the credit in credit_scheduler



Keir Fraser wrote:
> On 05/11/2010 07:26, "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx> wrote:
> 
>> Maybe idlers shouldn't produce the credits at the calcuation points.
>> I did an experiment before, it can reduce the unfaireness if idlers
>> not producing credit. 
>> 
>> Except this issue, I also have findings and want to share them with
>> you guys to get more input about credit scheduler.
>> 
>> 1. Interrupt delivery for assiged devices is done in a tasklet and
>> the tasklet is running in the idle vcpu's context, but scheduler's
>> behavior for scheduling idle vcpu looks very strange. Ideally, when
>> switch to idle vcpu for executing tasklet, the previous vcpu should
>> be switch back after tasklet is done, but current policy is to
>> choose another vcpu in runq.  That is to say, one interrupt happens
>> on one CPU, the CPU may do a real task switch, it maybe not
>> acceptable when interrupt frequency is high and also introduce some
>> performance bugs according to our experiments.  Even if we can
>> switch back the previous vcpu after executing tasklet, how to
>> determine its timeslice for its next run is also a key issue and
>> this is not addressed. If still give 30ms for its restart run, it
>> may trigger some fairness issues, I think.  
> 
> Interrupt delivery is a victim of us switching tasklet implementation
> to work in idle VCPU context instead of in softirq context. It might
> be sensible to make use of softirqs directly from the
> interrupt-delivery logic, or introduce a second type of tasklets
> (built on softirqs), or perhaps we can think of a way to structure
> interrupt delivery that doesn't need softirq context at all -- that
> would be nice! What did we need softirq context for in the first
> place? 

A dedicated softirq maybe a good choice. In this case,  it needs a Per-CPU list 
structure to record the pending interrupts' destinations(which domains). In the 
softirq callback,  it can check the list and delivery the interrupts to guests 
one by one. 
Xiantao

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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