Re: [PATCH V2 03/10] KVM: Remove tlbs_dirty

Paolo Bonzini
2021-09-23T15:23:14Z

On 18/09/21 02:56, Lai Jiangshan wrote:
> From: Lai Jiangshan <laijs@linux.alibaba.com>
>
> There is no user of tlbs_dirty.
>
> Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
> ---
> include/linux/kvm_host.h | 1 -
> virt/kvm/kvm_main.c | 9 +--------
> 2 files changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> index e4d712e9f760..3b7846cd0637 100644
> --- a/include/linux/kvm_host.h
> +++ b/include/linux/kvm_host.h
> @@ -608,7 +608,6 @@ struct kvm {
> unsigned long mmu_notifier_range_start;
> unsigned long mmu_notifier_range_end;
> #endif
> - long tlbs_dirty;
> struct list_head devices;
> u64 manual_dirty_log_protect;
> struct dentry *debugfs_dentry;
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 3e67c93ca403..6d6be42ec78d 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -312,12 +312,6 @@ EXPORT_SYMBOL_GPL(kvm_make_all_cpus_request);
> #ifndef CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL
> void kvm_flush_remote_tlbs(struct kvm *kvm)
> {
> - /*
> - * Read tlbs_dirty before setting KVM_REQ_TLB_FLUSH in
> - * kvm_make_all_cpus_request.
> - */
> - long dirty_count = smp_load_acquire(&kvm->tlbs_dirty);
> -
> /*
> * We want to publish modifications to the page tables before reading
> * mode. Pairs with a memory barrier in arch-specific code.
> @@ -332,7 +326,6 @@ void kvm_flush_remote_tlbs(struct kvm *kvm)
> if (!kvm_arch_flush_remote_tlb(kvm)
> || kvm_make_all_cpus_request(kvm, KVM_REQ_TLB_FLUSH))
> ++kvm->stat.generic.remote_tlb_flush;
> - cmpxchg(&kvm->tlbs_dirty, dirty_count, 0);
> }
> EXPORT_SYMBOL_GPL(kvm_flush_remote_tlbs);
> #endif
> @@ -537,7 +530,7 @@ static __always_inline int __kvm_handle_hva_range(struct kvm *kvm,
> }
> }
>
> - if (range->flush_on_ret && (ret || kvm->tlbs_dirty))
> + if (range->flush_on_ret && ret)
> kvm_flush_remote_tlbs(kvm);
>
> if (locked)
>

Queued up to here for 5.15, thanks!

Paolo