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

Re: [Xen-devel] vmx: VT-d posted-interrupt core logic handling



>>> On 10.03.16 at 12:16, <david.vrabel@xxxxxxxxxx> wrote:
> On 10/03/16 10:46, George Dunlap wrote:
>> On 10/03/16 10:35, David Vrabel wrote:
>>> You could also consider only waking the first N VCPUs and just making
>>> the rest runnable.  If you wake more VCPUs than PCPUs at the same time
>>> most of them won't actually be scheduled.
>> 
>> "Waking" a vcpu means "changing from blocked to runnable", so those two
>> things are the same.  And I can't figure out what you mean instead --
>> can you elaborate?
>> 
>> Waking up 1000 vcpus is going to take strictly more time than checking
>> whether there's a PI interrupt pending on 1000 vcpus to see if they need
>> to be woken up.
> 
> Waking means making it runnable /and/ attempt to make it running.
> 
> So I mean, for the > N'th VCPU don't call __runq_tickle(), only call
> __runq_insert().

We expect only some (hopefully small) percentage of the vCPU-s
on the list to actually need unblocking anyway. As George said,
list traversal alone can be an issue here, and we can't stop going
through the list half way. The case where a large portion of the
vCPU-s on the list actually need waking up would be even more
worrying.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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