From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH 05/15] KVM: MTRR: clean up mtrr default type Date: Wed, 03 Jun 2015 09:55:47 +0800 Message-ID: <556E5EA3.8040108@linux.intel.com> References: <1432983566-15773-1-git-send-email-guangrong.xiao@linux.intel.com> <1432983566-15773-6-git-send-email-guangrong.xiao@linux.intel.com> <556C21BF.3090003@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: gleb@kernel.org, mtosatti@redhat.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: Paolo Bonzini Return-path: Received: from mga09.intel.com ([134.134.136.24]:20846 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751704AbbFCB7m (ORCPT ); Tue, 2 Jun 2015 21:59:42 -0400 In-Reply-To: <556C21BF.3090003@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Thanks for your review, Paolo! On 06/01/2015 05:11 PM, Paolo Bonzini wrote: >> struct kvm_vcpu_arch { >> diff --git a/arch/x86/kvm/mtrr.c b/arch/x86/kvm/mtrr.c >> index 562341b..6de49dd 100644 >> --- a/arch/x86/kvm/mtrr.c >> +++ b/arch/x86/kvm/mtrr.c >> @@ -105,7 +105,6 @@ EXPORT_SYMBOL_GPL(kvm_mtrr_valid); >> static void update_mtrr(struct kvm_vcpu *vcpu, u32 msr) >> { >> struct kvm_mtrr *mtrr_state = &vcpu->arch.mtrr_state; >> - unsigned char mtrr_enabled = mtrr_state->enabled; >> gfn_t start, end, mask; >> int index; >> bool is_fixed = true; >> @@ -114,7 +113,7 @@ static void update_mtrr(struct kvm_vcpu *vcpu, u32 msr) >> !kvm_arch_has_noncoherent_dma(vcpu->kvm)) >> return; >> >> - if (!(mtrr_enabled & 0x2) && msr != MSR_MTRRdefType) >> + if (!mtrr_state->mtrr_enabled && msr != MSR_MTRRdefType) > > I know Linus doesn't like bitfields too much. Can you change these to > inline functions, and only leave an "u64 deftype" in the struct? > Sure. I will introduce mtrr_is_enabled() and fixed_mtrr_is_enabled() instead of these bitfields.