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

RE: [Xen-devel] cpuidle causing Dom0 soft lockups

>>> "Yu, Ke" <ke.yu@xxxxxxxxx> 07.02.10 16:36 >>>
>The attached is the updated patch, it has two changes
>- change the logic from local irq disabled *and* poll event to local irq 
>disabled *or* poll event 

Thanks.

>- Use per-CPU vcpu list to iterate the VCPU, which is more scalable. The 
>original scheduler does not provide such kind of list, so this patch implement 
>the list in scheduler code.

I'm still not really happy with that solution. I'd rather say that e.g.
vcpu_sleep_nosync() should set a flag in the vcpu structure indicating
whether that one is "urgent", and the scheduler should just maintain
a counter of "urgent" vCPU-s per pCPU. Setting the flag when a vCPU
is put to sleep guarantees that it won't be mis-treated if it got woken
by the time acpi_processor_idle() looks at it (or at least the window
would be minimal - not sure if it can be eliminated completely). Plus
not having to traverse a list is certainly better for scalability, not the
least since you're traversing a list (necessarily) including sleeping
vCPU-s (i.e. the ones that shouldn't affect the performance/
responsiveness of the system).

But in the end it would certainly depend much more on Keir's view on
it than on mine...

Jan


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