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

Re: [Xen-devel] xen: PV on HVM: support PV spinlocks



 On 08/16/2010 04:56 AM, Stefano Stabellini wrote:
> On Fri, 13 Aug 2010, Jeremy Fitzhardinge wrote:
>>  On 08/13/2010 12:06 PM, Stefano Stabellini wrote:
>>> xen: PV on HVM: support PV spinlocks
>>>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
>>>
>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>> index 6f53453..5643c43 100644
>>> --- a/arch/x86/xen/enlighten.c
>>> +++ b/arch/x86/xen/enlighten.c
>>> @@ -1290,6 +1290,8 @@ static int __cpuinit xen_hvm_cpu_notify(struct 
>>> notifier_block *self,
>>>     switch (action) {
>>>     case CPU_UP_PREPARE:
>>>             per_cpu(xen_vcpu, cpu) = 
>>> &HYPERVISOR_shared_info->vcpu_info[cpu];
>>> +           if (xen_have_vector_callback)
>>> +                   xen_init_lock_cpu(cpu);
>> Why does this depend on vector_callback?  pv spinlocks never have events
>> actually delivered.
>>
> HVM guests cannot receive events on vcpus other than 0 without
> vector_callback, this means they wouldn't receive even a vcpu_kick and
> would get stuck.

Huh, really.  So if a vcpu is blocked in a poll hypercall on a masked
event channel and you send that vcpu an IPI, the poll won't unblock
unless you have a delivery vector?

OK, I guess.

    J

_______________________________________________
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®.