Message ID | 1571970281-20083-1-git-send-email-linmiaohe@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: avoid unnecessary bitmap clear ops | expand |
On 25/10/19 04:24, Miaohe Lin wrote: > When set one bit in bitmap, there is no need to > clear it before. Hi, in general the Linux coding style prefers: a = x; if (...); a = y; to if (...) a = y; else a = x; which is why these lines were written this way. Thanks, Paolo > Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> > --- > arch/x86/kvm/svm.c | 3 ++- > arch/x86/kvm/x86.c | 3 ++- > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index ca200b50cde4..d997d011a942 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -2044,9 +2044,10 @@ static void avic_vcpu_load(struct kvm_vcpu *vcpu, int cpu) > entry &= ~AVIC_PHYSICAL_ID_ENTRY_HOST_PHYSICAL_ID_MASK; > entry |= (h_physical_id & AVIC_PHYSICAL_ID_ENTRY_HOST_PHYSICAL_ID_MASK); > > - entry &= ~AVIC_PHYSICAL_ID_ENTRY_IS_RUNNING_MASK; > if (svm->avic_is_running) > entry |= AVIC_PHYSICAL_ID_ENTRY_IS_RUNNING_MASK; > + else > + entry &= ~AVIC_PHYSICAL_ID_ENTRY_IS_RUNNING_MASK; > > WRITE_ONCE(*(svm->avic_physical_id_cache), entry); > avic_update_iommu_vcpu_affinity(vcpu, h_physical_id, > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index ff395f812719..9b535888ea90 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -1036,9 +1036,10 @@ static void kvm_update_dr7(struct kvm_vcpu *vcpu) > else > dr7 = vcpu->arch.dr7; > kvm_x86_ops->set_dr7(vcpu, dr7); > - vcpu->arch.switch_db_regs &= ~KVM_DEBUGREG_BP_ENABLED; > if (dr7 & DR7_BP_EN_MASK) > vcpu->arch.switch_db_regs |= KVM_DEBUGREG_BP_ENABLED; > + else > + vcpu->arch.switch_db_regs &= ~KVM_DEBUGREG_BP_ENABLED; > } > > static u64 kvm_dr6_fixed(struct kvm_vcpu *vcpu) >
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index ca200b50cde4..d997d011a942 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -2044,9 +2044,10 @@ static void avic_vcpu_load(struct kvm_vcpu *vcpu, int cpu) entry &= ~AVIC_PHYSICAL_ID_ENTRY_HOST_PHYSICAL_ID_MASK; entry |= (h_physical_id & AVIC_PHYSICAL_ID_ENTRY_HOST_PHYSICAL_ID_MASK); - entry &= ~AVIC_PHYSICAL_ID_ENTRY_IS_RUNNING_MASK; if (svm->avic_is_running) entry |= AVIC_PHYSICAL_ID_ENTRY_IS_RUNNING_MASK; + else + entry &= ~AVIC_PHYSICAL_ID_ENTRY_IS_RUNNING_MASK; WRITE_ONCE(*(svm->avic_physical_id_cache), entry); avic_update_iommu_vcpu_affinity(vcpu, h_physical_id, diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index ff395f812719..9b535888ea90 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1036,9 +1036,10 @@ static void kvm_update_dr7(struct kvm_vcpu *vcpu) else dr7 = vcpu->arch.dr7; kvm_x86_ops->set_dr7(vcpu, dr7); - vcpu->arch.switch_db_regs &= ~KVM_DEBUGREG_BP_ENABLED; if (dr7 & DR7_BP_EN_MASK) vcpu->arch.switch_db_regs |= KVM_DEBUGREG_BP_ENABLED; + else + vcpu->arch.switch_db_regs &= ~KVM_DEBUGREG_BP_ENABLED; } static u64 kvm_dr6_fixed(struct kvm_vcpu *vcpu)
When set one bit in bitmap, there is no need to clear it before. Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> --- arch/x86/kvm/svm.c | 3 ++- arch/x86/kvm/x86.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)