Re: [PATCH v2 2/4] KVM: X86: implement the logic for spinlock optimization

From: Paolo Bonzini
Date: Tue Aug 08 2017 - 04:39:31 EST


On 08/08/2017 10:31, Longpeng (Mike) wrote:
>
>
> On 2017/8/8 15:30, Paolo Bonzini wrote:
>
>> On 08/08/2017 06:05, Longpeng(Mike) wrote:
>>> diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
>>> index cd0e6e6..dec5e8a 100644
>>> --- a/arch/x86/kvm/hyperv.c
>>> +++ b/arch/x86/kvm/hyperv.c
>>> @@ -1268,7 +1268,7 @@ int kvm_hv_hypercall(struct kvm_vcpu *vcpu)
>>>
>>> switch (code) {
>>> case HVCALL_NOTIFY_LONG_SPIN_WAIT:
>>> - kvm_vcpu_on_spin(vcpu, kvm_arch_vcpu_in_kernel(vcpu));
>>> + kvm_vcpu_on_spin(vcpu, kvm_x86_ops->spin_in_kernel(vcpu));
>>> break;
>>> case HVCALL_POST_MESSAGE:
>>> case HVCALL_SIGNAL_EVENT:
>>
>> This can be true as well. I can change this on commit.
>
> Thanks,
> hope you could help me to fix the same problem in patch-1(s390) too.

Yes. Another possibility is to always pass false in patch 1 to
kvm_vcpu_on_spin. Then the parameter can be adjusted in patches 3 and 4
(passing true for s390 and vcpu_mode_priv(vcpu) for ARM).

Paolo