Re: [PATCH] KVM: avoid unnecessary bitmap clear ops

From: Paolo Bonzini
Date: Fri Oct 25 2019 - 05:42:52 EST


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@xxxxxxxxxx>
> ---
> 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)
>