From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Du Date: Tue, 12 Dec 2023 15:12:22 +0800 (GMT+08:00) Subject: [PATCH] RISC-V: KVM: remove a redundant condition in kvm_arch_vcpu_ioctl_run() In-Reply-To: <94bcaa6d-fe18-4eed-b2d4-a6a5521230bf@ventanamicro.com> References: <20231211094014.4041-1-duchao@eswincomputing.com> <94bcaa6d-fe18-4eed-b2d4-a6a5521230bf@ventanamicro.com> Message-ID: <4840760d.ce9.18c5cde9e56.Coremail.duchao@eswincomputing.com> List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit > -----Original Messages-----From:"Daniel Henrique Barboza" Sent Time:2023-12-11 20:06:33 (Monday)To:"Chao Du" , kvm at vger.kernel.org, kvm-riscv at lists.infradead.org, anup at brainfault.org, atishp at atishpatra.orgCc:Subject:Re: [PATCH] RISC-V: KVM: remove a redundant condition in kvm_arch_vcpu_ioctl_run() > > > > On 12/11/23 06:40, Chao Du wrote: > > The latest ret value is updated by kvm_riscv_vcpu_aia_update(), > > the loop will continue if the ret is less than or equal to zero. > > So the later condition will never hit. Thus remove it. > > Good catch. There's another potential optimization to be done a little above > this change: > > > while (ret > 0) { > (...) > > /* Update AIA HW state before entering guest */ > ret = kvm_riscv_vcpu_aia_update(vcpu); > if (ret <= 0) { > preempt_enable(); > continue; <------------------ > } > (...) > > Note that this 'continue' isn't doing much - we'll restart the loop with ret <= 0 > while requiring ret > 0 to do another iteration. I.e. this 'continue' can be > replaced for 'break' without compromising the logic. Yes, you are right. The 'continue' could be replaced by a 'break'. I also find another small point: ret = 1; (...) /* Update AIA HW state before entering guest */ ret = kvm_riscv_vcpu_aia_update(vcpu); the assignment 'ret = 1' is somehow redundant, since it will be overwritten before any reference. > > (of course, testing it to be sure is always advised :D ) > > > > > Signed-off-by: Chao Du > > --- > > > Reviewed-by: Daniel Henrique Barboza > > > > arch/riscv/kvm/vcpu.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c > > index e087c809073c..bf3952d1a621 100644 > > --- a/arch/riscv/kvm/vcpu.c > > +++ b/arch/riscv/kvm/vcpu.c > > @@ -757,8 +757,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu) > > /* Update HVIP CSR for current CPU */ > > kvm_riscv_update_hvip(vcpu); > > > > - if (ret <= 0 || > > - kvm_riscv_gstage_vmid_ver_changed(&vcpu->kvm->arch.vmid) || > > + if (kvm_riscv_gstage_vmid_ver_changed(&vcpu->kvm->arch.vmid) || > > kvm_request_pending(vcpu) || > > xfer_to_guest_mode_work_pending()) { > > vcpu->mode = OUTSIDE_GUEST_MODE; From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sgoci-sdnproxy-4.icoremail.net (sgoci-sdnproxy-4.icoremail.net [129.150.39.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 8BABCEE for ; Mon, 11 Dec 2023 23:13:49 -0800 (PST) Received: from duchao$eswincomputing.com ( [123.139.59.82] ) by ajax-webmail-app2 (Coremail) ; Tue, 12 Dec 2023 15:12:22 +0800 (GMT+08:00) Date: Tue, 12 Dec 2023 15:12:22 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: "Chao Du" To: "Daniel Henrique Barboza" Cc: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, anup@brainfault.org, atishp@atishpatra.org Subject: Re: [PATCH] RISC-V: KVM: remove a redundant condition in kvm_arch_vcpu_ioctl_run() X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT6.0.3 build 20220420(169d3f8c) Copyright (c) 2002-2023 www.mailtech.cn mispb-72143050-eaf5-4703-89e0-86624513b4ce-eswincomputing.com In-Reply-To: <94bcaa6d-fe18-4eed-b2d4-a6a5521230bf@ventanamicro.com> References: <20231211094014.4041-1-duchao@eswincomputing.com> <94bcaa6d-fe18-4eed-b2d4-a6a5521230bf@ventanamicro.com> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <4840760d.ce9.18c5cde9e56.Coremail.duchao@eswincomputing.com> X-Coremail-Locale: en_US X-CM-TRANSID:TQJkCgA3xtTWB3hlvxcBAA--.1258W X-CM-SenderInfo: xgxfxt3r6h245lqf0zpsxwx03jof0z/1tbiAQEDDGV3K3YYiAACsS X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWxJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlcy0tLS0tRnJvbToiRGFuaWVsIEhlbnJpcXVlIEJhcmJv emEiIDxkYmFyYm96YUB2ZW50YW5hbWljcm8uY29tPlNlbnQgVGltZToyMDIzLTEyLTExIDIwOjA2 OjMzIChNb25kYXkpVG86IkNoYW8gRHUiIDxkdWNoYW9AZXN3aW5jb21wdXRpbmcuY29tPiwga3Zt QHZnZXIua2VybmVsLm9yZywga3ZtLXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcsIGFudXBAYnJh aW5mYXVsdC5vcmcsIGF0aXNocEBhdGlzaHBhdHJhLm9yZ0NjOlN1YmplY3Q6UmU6IFtQQVRDSF0g UklTQy1WOiBLVk06IHJlbW92ZSBhIHJlZHVuZGFudCBjb25kaXRpb24gaW4ga3ZtX2FyY2hfdmNw dV9pb2N0bF9ydW4oKQo+IAo+IAo+IAo+IE9uIDEyLzExLzIzIDA2OjQwLCBDaGFvIER1IHdyb3Rl Ogo+ID4gVGhlIGxhdGVzdCByZXQgdmFsdWUgaXMgdXBkYXRlZCBieSBrdm1fcmlzY3ZfdmNwdV9h aWFfdXBkYXRlKCksCj4gPiB0aGUgbG9vcCB3aWxsIGNvbnRpbnVlIGlmIHRoZSByZXQgaXMgbGVz cyB0aGFuIG9yIGVxdWFsIHRvIHplcm8uCj4gPiBTbyB0aGUgbGF0ZXIgY29uZGl0aW9uIHdpbGwg bmV2ZXIgaGl0LiBUaHVzIHJlbW92ZSBpdC4KPiAKPiBHb29kIGNhdGNoLiBUaGVyZSdzIGFub3Ro ZXIgcG90ZW50aWFsIG9wdGltaXphdGlvbiB0byBiZSBkb25lIGEgbGl0dGxlIGFib3ZlCj4gdGhp cyBjaGFuZ2U6Cj4gCj4gCj4gCXdoaWxlIChyZXQgPiAwKSB7Cj4gCQkoLi4uKQo+IAo+IAkJLyog VXBkYXRlIEFJQSBIVyBzdGF0ZSBiZWZvcmUgZW50ZXJpbmcgZ3Vlc3QgKi8KPiAJCXJldCA9IGt2 bV9yaXNjdl92Y3B1X2FpYV91cGRhdGUodmNwdSk7Cj4gCQlpZiAocmV0IDw9IDApIHsKPiAJCQlw cmVlbXB0X2VuYWJsZSgpOwo+IAkJCWNvbnRpbnVlOyA8LS0tLS0tLS0tLS0tLS0tLS0tCj4gCQl9 Cj4gCQkoLi4uKQo+IAo+IE5vdGUgdGhhdCB0aGlzICdjb250aW51ZScgaXNuJ3QgZG9pbmcgbXVj aCAtIHdlJ2xsIHJlc3RhcnQgdGhlIGxvb3Agd2l0aCByZXQgPD0gMAo+IHdoaWxlIHJlcXVpcmlu ZyByZXQgPiAwIHRvIGRvIGFub3RoZXIgaXRlcmF0aW9uLiBJLmUuIHRoaXMgJ2NvbnRpbnVlJyBj YW4gYmUKPiByZXBsYWNlZCBmb3IgJ2JyZWFrJyB3aXRob3V0IGNvbXByb21pc2luZyB0aGUgbG9n aWMuCgpZZXMsIHlvdSBhcmUgcmlnaHQuIFRoZSAnY29udGludWUnIGNvdWxkIGJlIHJlcGxhY2Vk IGJ5IGEgJ2JyZWFrJy4KSSBhbHNvIGZpbmQgYW5vdGhlciBzbWFsbCBwb2ludDoKCgkJcmV0ID0g MTsKCgkJKC4uLikKCgkJLyogVXBkYXRlIEFJQSBIVyBzdGF0ZSBiZWZvcmUgZW50ZXJpbmcgZ3Vl c3QgKi8KCQlyZXQgPSBrdm1fcmlzY3ZfdmNwdV9haWFfdXBkYXRlKHZjcHUpOwoKdGhlIGFzc2ln bm1lbnQgJ3JldCA9IDEnIGlzIHNvbWVob3cgcmVkdW5kYW50LCBzaW5jZSBpdCB3aWxsIGJlCm92 ZXJ3cml0dGVuIGJlZm9yZSBhbnkgcmVmZXJlbmNlLgoKPiAKPiAob2YgY291cnNlLCB0ZXN0aW5n IGl0IHRvIGJlIHN1cmUgaXMgYWx3YXlzIGFkdmlzZWQgOkQgKQo+IAo+ID4gCj4gPiBTaWduZWQt b2ZmLWJ5OiBDaGFvIER1IDxkdWNoYW9AZXN3aW5jb21wdXRpbmcuY29tPgo+ID4gLS0tCj4gCj4g Cj4gUmV2aWV3ZWQtYnk6IERhbmllbCBIZW5yaXF1ZSBCYXJib3phIDxkYmFyYm96YUB2ZW50YW5h bWljcm8uY29tPgo+IAo+IAo+ID4gICBhcmNoL3Jpc2N2L2t2bS92Y3B1LmMgfCAzICstLQo+ID4g ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCj4gPiAKPiA+ IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2t2bS92Y3B1LmMgYi9hcmNoL3Jpc2N2L2t2bS92Y3B1 LmMKPiA+IGluZGV4IGUwODdjODA5MDczYy4uYmYzOTUyZDFhNjIxIDEwMDY0NAo+ID4gLS0tIGEv YXJjaC9yaXNjdi9rdm0vdmNwdS5jCj4gPiArKysgYi9hcmNoL3Jpc2N2L2t2bS92Y3B1LmMKPiA+ IEBAIC03NTcsOCArNzU3LDcgQEAgaW50IGt2bV9hcmNoX3ZjcHVfaW9jdGxfcnVuKHN0cnVjdCBr dm1fdmNwdSAqdmNwdSkKPiA+ICAgCQkvKiBVcGRhdGUgSFZJUCBDU1IgZm9yIGN1cnJlbnQgQ1BV ICovCj4gPiAgIAkJa3ZtX3Jpc2N2X3VwZGF0ZV9odmlwKHZjcHUpOwo+ID4gICAKPiA+IC0JCWlm IChyZXQgPD0gMCB8fAo+ID4gLQkJICAgIGt2bV9yaXNjdl9nc3RhZ2Vfdm1pZF92ZXJfY2hhbmdl ZCgmdmNwdS0+a3ZtLT5hcmNoLnZtaWQpIHx8Cj4gPiArCQlpZiAoa3ZtX3Jpc2N2X2dzdGFnZV92 bWlkX3Zlcl9jaGFuZ2VkKCZ2Y3B1LT5rdm0tPmFyY2gudm1pZCkgfHwKPiA+ICAgCQkgICAga3Zt X3JlcXVlc3RfcGVuZGluZyh2Y3B1KSB8fAo+ID4gICAJCSAgICB4ZmVyX3RvX2d1ZXN0X21vZGVf d29ya19wZW5kaW5nKCkpIHsKPiA+ICAgCQkJdmNwdS0+bW9kZSA9IE9VVFNJREVfR1VFU1RfTU9E RTsK