Re: [PATCH v2 2/4] KVM: X86: implement the logic for spinlock optimization
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
Re: [PATCH v2 2/4] KVM: X86: implement the logic for spinlock optimization
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
Re: [PATCH v2 2/4] KVM: X86: implement the logic for spinlock optimization
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. > Paolo > > . > -- Regards, Longpeng(Mike)
Re: [PATCH v2 2/4] KVM: X86: implement the logic for spinlock optimization
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. > Paolo > > . > -- Regards, Longpeng(Mike)
Re: [PATCH v2 2/4] KVM: X86: implement the logic for spinlock optimization
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. Paolo
Re: [PATCH v2 2/4] KVM: X86: implement the logic for spinlock optimization
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. Paolo