|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|