From: Lai Jiangshan <laijs@xxxxxxxxxxxxxxxxx> In kvm_mmu_notifier_invalidate_range_start(), tlbs_dirty is used as: need_tlb_flush |= kvm->tlbs_dirty; with need_tlb_flush's type being int and tlbs_dirty's type being long. It means that tlbs_dirty is always used as int and the higher 32 bits is useless. We can just change need_tlb_flush's type to long to make full use of tlbs_dirty. Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxxxxx> --- virt/kvm/kvm_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 2541a17ff1c4..4e519a517e9f 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -470,7 +470,8 @@ static int kvm_mmu_notifier_invalidate_range_start(struct mmu_notifier *mn, const struct mmu_notifier_range *range) { struct kvm *kvm = mmu_notifier_to_kvm(mn); - int need_tlb_flush = 0, idx; + long need_tlb_flush = 0; + int idx; idx = srcu_read_lock(&kvm->srcu); spin_lock(&kvm->mmu_lock); -- 2.19.1.6.gb485710b