[{"id":1812569,"web_url":"http://patchwork.ozlabs.org/comment/1812569/","msgid":"<70d9ce37-8c96-fcf9-b736-20455dfaf440@redhat.com>","list_archive_url":null,"date":"2017-11-29T17:47:42","subject":"Re: [PATCH v2 08/16] KVM: Move vcpu_load to arch-specific\n\tkvm_arch_vcpu_ioctl_get_mpstate","submitter":{"id":70402,"url":"http://patchwork.ozlabs.org/api/people/70402/","name":"David Hildenbrand","email":"david@redhat.com"},"content":"On 29.11.2017 17:41, Christoffer Dall wrote:\n> Move vcpu_load() and vcpu_put() into the architecture specific\n> implementations of kvm_arch_vcpu_ioctl_get_mpstate().\n> \n> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>\n> ---\n>  arch/s390/kvm/kvm-s390.c | 11 +++++++++--\n>  arch/x86/kvm/x86.c       |  3 +++\n>  virt/kvm/arm/arm.c       |  3 +++\n>  virt/kvm/kvm_main.c      |  2 --\n>  4 files changed, 15 insertions(+), 4 deletions(-)\n> \n> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c\n> index d95b4f1..396fc3d 100644\n> --- a/arch/s390/kvm/kvm-s390.c\n> +++ b/arch/s390/kvm/kvm-s390.c\n> @@ -2836,9 +2836,16 @@ int kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,\n>  int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,\n>  \t\t\t\t    struct kvm_mp_state *mp_state)\n>  {\n> +\tint ret;\n> +\n> +\tvcpu_load(vcpu);\n> +\n>  \t/* CHECK_STOP and LOAD are not supported yet */\n> -\treturn is_vcpu_stopped(vcpu) ? KVM_MP_STATE_STOPPED :\n> -\t\t\t\t       KVM_MP_STATE_OPERATING;\n> +\tret = is_vcpu_stopped(vcpu) ? KVM_MP_STATE_STOPPED :\n> +\t\t\t\t      KVM_MP_STATE_OPERATING;\n> +\n> +\tvcpu_put(vcpu);\n> +\treturn ret;\n>  }\n>  \n>  int kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,\n> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c\n> index a31a80a..9bf62c3 100644\n> --- a/arch/x86/kvm/x86.c\n> +++ b/arch/x86/kvm/x86.c\n> @@ -7440,6 +7440,8 @@ int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu,\n>  int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,\n>  \t\t\t\t    struct kvm_mp_state *mp_state)\n>  {\n> +\tvcpu_load(vcpu);\n> +\n>  \tkvm_apic_accept_events(vcpu);\n>  \tif (vcpu->arch.mp_state == KVM_MP_STATE_HALTED &&\n>  \t\t\t\t\tvcpu->arch.pv.pv_unhalted)\n> @@ -7447,6 +7449,7 @@ int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,\n>  \telse\n>  \t\tmp_state->mp_state = vcpu->arch.mp_state;\n>  \n> +\tvcpu_put(vcpu);\n>  \treturn 0;\n>  }\n>  \n> diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c\n> index 1f448b2..a717170 100644\n> --- a/virt/kvm/arm/arm.c\n> +++ b/virt/kvm/arm/arm.c\n> @@ -381,11 +381,14 @@ static void vcpu_power_off(struct kvm_vcpu *vcpu)\n>  int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,\n>  \t\t\t\t    struct kvm_mp_state *mp_state)\n>  {\n> +\tvcpu_load(vcpu);\n> +\n>  \tif (vcpu->arch.power_off)\n>  \t\tmp_state->mp_state = KVM_MP_STATE_STOPPED;\n>  \telse\n>  \t\tmp_state->mp_state = KVM_MP_STATE_RUNNABLE;\n>  \n> +\tvcpu_put(vcpu);\n>  \treturn 0;\n>  }\n>  \n> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c\n> index 19cf2d1..eac3c29 100644\n> --- a/virt/kvm/kvm_main.c\n> +++ b/virt/kvm/kvm_main.c\n> @@ -2603,9 +2603,7 @@ static long kvm_vcpu_ioctl(struct file *filp,\n>  \tcase KVM_GET_MP_STATE: {\n>  \t\tstruct kvm_mp_state mp_state;\n>  \n> -\t\tvcpu_load(vcpu);\n>  \t\tr = kvm_arch_vcpu_ioctl_get_mpstate(vcpu, &mp_state);\n> -\t\tvcpu_put(vcpu);\n>  \t\tif (r)\n>  \t\t\tgoto out;\n>  \t\tr = -EFAULT;\n> \n\nReviewed-by: David Hildenbrand <david@redhat.com>","headers":{"Return-Path":"<kvm-ppc-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=kvm-ppc-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yn7L24SBFz9sNV\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 30 Nov 2017 04:48:10 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S934106AbdK2Rrv (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tWed, 29 Nov 2017 12:47:51 -0500","from mx1.redhat.com ([209.132.183.28]:63666 \"EHLO mx1.redhat.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S934085AbdK2Rrt (ORCPT <rfc822;kvm-ppc@vger.kernel.org>);\n\tWed, 29 Nov 2017 12:47:49 -0500","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id B6CA713A42;\n\tWed, 29 Nov 2017 17:47:49 +0000 (UTC)","from [10.36.117.80] (ovpn-117-80.ams2.redhat.com [10.36.117.80])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 6F1A460605;\n\tWed, 29 Nov 2017 17:47:43 +0000 (UTC)"],"Subject":"Re: [PATCH v2 08/16] KVM: Move vcpu_load to arch-specific\n\tkvm_arch_vcpu_ioctl_get_mpstate","To":"Christoffer Dall <christoffer.dall@linaro.org>, kvm@vger.kernel.org","Cc":"Andrew Jones <drjones@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,\n\t=?utf-8?b?UmFkaW0gS3LEjW3DocWZ?= <rkrcmar@redhat.com>,\n\tMarc Zyngier <marc.zyngier@arm.com>, kvmarm@lists.cs.columbia.edu,\n\tlinux-arm-kernel@lists.infradead.org, James Hogan <jhogan@kernel.org>,\n\tlinux-mips@linux-mips.org, Alexander Graf <agraf@suse.com>,\n\tkvm-ppc@vger.kernel.org, \n\tChristian Borntraeger <borntraeger@de.ibm.com>, Cornelia Huck\n\t<cohuck@redhat.com>, linux-s390@vger.kernel.org","References":"<20171129164116.16167-1-christoffer.dall@linaro.org>\n\t<20171129164116.16167-9-christoffer.dall@linaro.org>","From":"David Hildenbrand <david@redhat.com>","Organization":"Red Hat GmbH","Message-ID":"<70d9ce37-8c96-fcf9-b736-20455dfaf440@redhat.com>","Date":"Wed, 29 Nov 2017 18:47:42 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.4.0","MIME-Version":"1.0","In-Reply-To":"<20171129164116.16167-9-christoffer.dall@linaro.org>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.13","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.29]);\n\tWed, 29 Nov 2017 17:47:49 +0000 (UTC)","Sender":"kvm-ppc-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<kvm-ppc.vger.kernel.org>","X-Mailing-List":"kvm-ppc@vger.kernel.org"}}]