Received: by 10.223.164.202 with SMTP id h10csp201273wrb; Mon, 6 Nov 2017 05:15:20 -0800 (PST) X-Google-Smtp-Source: ABhQp+SmaLCn1uln+0+cVepu78waS+ocFJMyT0XIit7JPF0ndcU8D9MQ7EXZCDTBDu8zgooZNK3+ X-Received: by 10.101.76.195 with SMTP id n3mr15912873pgt.120.1509974120318; Mon, 06 Nov 2017 05:15:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1509974120; cv=none; d=google.com; s=arc-20160816; b=HbSqEBn6d93KEBnRdM7rktZw/w1iXvhFovaaFn6b68jOIffhdVB25F+4gWFECdf5kE LSYTCmSr9oQ9byxzRcYbXxEJkDhjh2qjPnsY6SUaV+7RieoiXqWvXe1Z6aJD0ExKagWa IQ7Hj87j533PAQQQ7XBD4quelMluV8mtRxk703FquvzQtIA/2nb9bmNGyebABo34IBZb o5nJg6XBDYq5yN3FsOebjGd0eHDn/5XsiyRgDIzB8F5RsoWV6OogaSeIVE5Wq3SOO8Wr eCsj1rfV8Roy0C2aMzFGN38ht+5fl5Mn9jyytcy5i1M/+FxHxt4zMpvzSfy8eKMANTMn eupw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-disposition:mime-version:user-agent:in-reply-to:references :subject:cc:to:from:message-id:date:arc-authentication-results; bh=FEbWmSTpRtriio1RMhzN7tz53Gw88wA88p3a+eSKrC4=; b=lS3OQ1ten+sA/hb0j7frrlDIlMv9q9TDCecw8f7/6GiRMHFSWVqI994rHRq/euMxFR /0XzB+Gh85EruxTe1z63wRvQYbwbXg2mEmlPG697ue6wn23oPBN06a71S96H/DqZh0QT X7bMd/OlS/PT3W4vCOQyPKXe0YWm1r+TXkJM8fozbJx3cxAKneAi5TRNm4prdeJ3uJjR y77+N+JtxRYIicFbYvopCc6uh+bozHUsrfICISWEqxze18NOAbgua9q0Wl6jQFTKE3UA AC4qsyyPJ4JYLcAyjDBDXBkKXxsXaLXRI+p85m8RW8Kk3wkeGAuEjtSlb1k1qg4rZ4nZ 8erw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s24si10032949plp.126.2017.11.06.05.15.06; Mon, 06 Nov 2017 05:15:20 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752724AbdKFNOa (ORCPT + 98 others); Mon, 6 Nov 2017 08:14:30 -0500 Received: from gateway33.websitewelcome.com ([192.185.145.221]:37787 "EHLO gateway33.websitewelcome.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752351AbdKFNO3 (ORCPT ); Mon, 6 Nov 2017 08:14:29 -0500 Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4]) by gateway33.websitewelcome.com (Postfix) with ESMTP id 469933D982 for ; Mon, 6 Nov 2017 07:14:28 -0600 (CST) Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with SMTP id BhESeJQ8kpOTvBhESe44hA; Mon, 06 Nov 2017 07:14:28 -0600 Received: from gator4166.hostgator.com ([108.167.133.22]:47936) by gator4166.hostgator.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.87) (envelope-from ) id 1eBhER-001YVv-O3; Mon, 06 Nov 2017 07:14:27 -0600 Received: from 189.145.38.148 ([189.145.38.148]) by gator4166.hostgator.com (Horde Framework) with HTTPS; Mon, 06 Nov 2017 07:14:27 -0600 Date: Mon, 06 Nov 2017 07:14:27 -0600 Message-ID: <20171106071427.Horde.S9Js9jxe-hQCvJQaKhHNRgZ@gator4166.hostgator.com> From: "Gustavo A. R. Silva" To: Paolo Bonzini Cc: Radim =?utf-8?b?S3LEjW3DocWZ?= , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] KVM: VMX: replace move_msr_up with swap macro References: <20171103225819.GA3482@embeddedor.com> <256976066.17297233.1509816546047.JavaMail.zimbra@redhat.com> In-Reply-To: <256976066.17297233.1509816546047.JavaMail.zimbra@redhat.com> User-Agent: Horde Application Framework 5 Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator4166.hostgator.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - embeddedor.com X-BWhitelist: no X-Source-IP: 108.167.133.22 X-Source-L: Yes X-Exim-ID: 1eBhER-001YVv-O3 X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: gator4166.hostgator.com [108.167.133.22]:47936 X-Source-Auth: garsilva@embeddedor.com X-Email-Count: 1 X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20= X-Local-Domain: yes Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Paolo, Quoting Paolo Bonzini : > ----- Original Message ----- >> From: "Gustavo A. R. Silva" >> To: "Paolo Bonzini" , "Radim Krčmář" >> , "Thomas Gleixner" >> , "Ingo Molnar" , "H. Peter >> Anvin" , x86@kernel.org >> Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, "Gustavo A. >> R. Silva" >> Sent: Friday, November 3, 2017 11:58:19 PM >> Subject: [PATCH] KVM: VMX: replace move_msr_up with swap macro >> >> Function move_msr_up is used to _manually_ swap MSR entries in MSR array. >> This function can be removed and replaced using the swap macro instead. >> >> This code was detected with the help of Coccinelle. > > I think move_msr_up should instead change into a function like > > void mark_msr_for_save(struct vcpu_vmx *vmx, int index) > { > swap(vmx->guest_msrs[index], vmx->guest_msrs[vmx->save_nmsrs]); > vmx->save_nmsrs++; > } > > Using swap is useful, but it is also hiding what's going on exactly > (in addition, using ++ inside a macro argument might be calling for > trouble). > Thanks for your comments. I'll work on v2 based on your feedback. -- Gustavo A. R. Silva > Paolo > >> >> Signed-off-by: Gustavo A. R. Silva >> --- >> The new lines are over 80 characters, but I think in this case that is >> preferable over splitting them. >> >> arch/x86/kvm/vmx.c | 24 ++++++------------------ >> 1 file changed, 6 insertions(+), 18 deletions(-) >> >> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c >> index e6c8ffa..210e491 100644 >> --- a/arch/x86/kvm/vmx.c >> +++ b/arch/x86/kvm/vmx.c >> @@ -2544,18 +2544,6 @@ static bool vmx_invpcid_supported(void) >> return cpu_has_vmx_invpcid() && enable_ept; >> } >> >> -/* >> - * Swap MSR entry in host/guest MSR entry array. >> - */ >> -static void move_msr_up(struct vcpu_vmx *vmx, int from, int to) >> -{ >> - struct shared_msr_entry tmp; >> - >> - tmp = vmx->guest_msrs[to]; >> - vmx->guest_msrs[to] = vmx->guest_msrs[from]; >> - vmx->guest_msrs[from] = tmp; >> -} >> - >> static void vmx_set_msr_bitmap(struct kvm_vcpu *vcpu) >> { >> unsigned long *msr_bitmap; >> @@ -2600,28 +2588,28 @@ static void setup_msrs(struct vcpu_vmx *vmx) >> if (is_long_mode(&vmx->vcpu)) { >> index = __find_msr_index(vmx, MSR_SYSCALL_MASK); >> if (index >= 0) >> - move_msr_up(vmx, index, save_nmsrs++); >> + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); >> index = __find_msr_index(vmx, MSR_LSTAR); >> if (index >= 0) >> - move_msr_up(vmx, index, save_nmsrs++); >> + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); >> index = __find_msr_index(vmx, MSR_CSTAR); >> if (index >= 0) >> - move_msr_up(vmx, index, save_nmsrs++); >> + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); >> index = __find_msr_index(vmx, MSR_TSC_AUX); >> if (index >= 0 && guest_cpuid_has(&vmx->vcpu, X86_FEATURE_RDTSCP)) >> - move_msr_up(vmx, index, save_nmsrs++); >> + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); >> /* >> * MSR_STAR is only needed on long mode guests, and only >> * if efer.sce is enabled. >> */ >> index = __find_msr_index(vmx, MSR_STAR); >> if ((index >= 0) && (vmx->vcpu.arch.efer & EFER_SCE)) >> - move_msr_up(vmx, index, save_nmsrs++); >> + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); >> } >> #endif >> index = __find_msr_index(vmx, MSR_EFER); >> if (index >= 0 && update_transition_efer(vmx, index)) >> - move_msr_up(vmx, index, save_nmsrs++); >> + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); >> >> vmx->save_nmsrs = save_nmsrs; > > >> >> -- >> 2.7.4 >> >> From 1583157448956642893@xxx Sat Nov 04 17:29:57 +0000 2017 X-GM-THRID: 1583088938507594314 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread