[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <59882ABD.6000501@huawei.com>
Date: Mon, 7 Aug 2017 16:54:21 +0800
From: "Longpeng (Mike)" <longpeng2@...wei.com>
To: David Hildenbrand <david@...hat.com>
CC: <pbonzini@...hat.com>, <rkrcmar@...hat.com>, <agraf@...e.com>,
<borntraeger@...ibm.com>, <cohuck@...hat.com>,
<christoffer.dall@...aro.org>, <marc.zyngier@....com>,
<james.hogan@...tec.com>, <kvm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <weidong.huang@...wei.com>,
<arei.gonglei@...wei.com>, <wangxinxin.wang@...wei.com>,
<longpeng.mike@...il.com>
Subject: Re: [PATCH 3/3] KVM: implement spinlock optimization logic for arm/s390
On 2017/8/7 16:52, David Hildenbrand wrote:
> On 07.08.2017 10:44, Longpeng(Mike) wrote:
>> Implements the kvm_arch_vcpu_spin/preempt_in_kernel() for arm/s390,
>> they needn't cache the result.
>>
>> Signed-off-by: Longpeng(Mike) <longpeng2@...wei.com>
>> ---
>> arch/s390/kvm/kvm-s390.c | 4 ++--
>> virt/kvm/arm/arm.c | 4 ++--
>> 2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
>> index f78cdc2..49b9178 100644
>> --- a/arch/s390/kvm/kvm-s390.c
>> +++ b/arch/s390/kvm/kvm-s390.c
>> @@ -2449,12 +2449,12 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
>>
>> bool kvm_arch_vcpu_spin_in_kernel(struct kvm_vcpu *vcpu)
>> {
>> - return false;
>> + return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE);
>> }
>>
>> bool kvm_arch_vcpu_preempt_in_kernel(struct kvm_vcpu *vcpu)
>> {
>> - return false;
>> + return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE);
>> }
>>
>> void kvm_s390_vcpu_block(struct kvm_vcpu *vcpu)
>> diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c
>> index e45f780..956f025 100644
>> --- a/virt/kvm/arm/arm.c
>> +++ b/virt/kvm/arm/arm.c
>> @@ -418,12 +418,12 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *v)
>>
>> bool kvm_arch_vcpu_spin_in_kernel(struct kvm_vcpu *vcpu)
>> {
>> - return false;
>> + return vcpu_mode_priv(vcpu);
>> }
>>
>> bool kvm_arch_vcpu_preempt_in_kernel(struct kvm_vcpu *vcpu)
>> {
>> - return false;
>> + return vcpu_mode_priv(vcpu);
>> }
>>
>> /* Just ensure a guest exit from a particular CPU */
>>
>
> Can you split that into two parts? (arm and s390x?)
OK, I'll split in V2. :)
>
--
Regards,
Longpeng(Mike)
Powered by blists - more mailing lists