From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752664AbdHGIwO (ORCPT ); Mon, 7 Aug 2017 04:52:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36806 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752331AbdHGIwN (ORCPT ); Mon, 7 Aug 2017 04:52:13 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 08A606E809 Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=david@redhat.com Subject: Re: [PATCH 3/3] KVM: implement spinlock optimization logic for arm/s390 To: "Longpeng(Mike)" , pbonzini@redhat.com, rkrcmar@redhat.com Cc: agraf@suse.com, borntraeger@de.ibm.com, cohuck@redhat.com, christoffer.dall@linaro.org, marc.zyngier@arm.com, james.hogan@imgtec.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, weidong.huang@huawei.com, arei.gonglei@huawei.com, wangxinxin.wang@huawei.com, longpeng.mike@gmail.com References: <1502095466-21312-1-git-send-email-longpeng2@huawei.com> <1502095466-21312-4-git-send-email-longpeng2@huawei.com> From: David Hildenbrand Organization: Red Hat GmbH Message-ID: Date: Mon, 7 Aug 2017 10:52:07 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <1502095466-21312-4-git-send-email-longpeng2@huawei.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 07 Aug 2017 08:52:13 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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) > --- > 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?) -- Thanks, David