Hey Peter, On Wed, Aug 22, 2018 at 05:30:16PM +0200, Peter Zijlstra wrote: > If we don't use paravirt; don't play unnecessary and complicated games > to free page-tables. > > Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > --- > arch/x86/Kconfig | 2 +- > arch/x86/hyperv/mmu.c | 2 ++ > arch/x86/include/asm/paravirt.h | 5 +++++ > arch/x86/include/asm/paravirt_types.h | 3 +++ > arch/x86/include/asm/tlbflush.h | 3 +++ > arch/x86/kernel/kvm.c | 5 ++++- > arch/x86/kernel/paravirt.c | 2 ++ > arch/x86/mm/pgtable.c | 8 ++++---- > arch/x86/xen/mmu_pv.c | 1 + > 9 files changed, 25 insertions(+), 6 deletions(-) > <cut> > --- a/arch/x86/xen/mmu_pv.c > +++ b/arch/x86/xen/mmu_pv.c > @@ -2397,6 +2397,7 @@ static const struct pv_mmu_ops xen_mmu_o > .flush_tlb_kernel = xen_flush_tlb, > .flush_tlb_one_user = xen_flush_tlb_one_user, > .flush_tlb_others = xen_flush_tlb_others, > + .tlb_remove_table = tlb_remove_table, I tried compiling the series, and I am getting the following compilation error: CC arch/x86/xen/mmu_pv.o arch/x86/xen/mmu_pv.c:2400:22: error: ‘tlb_remove_table’ undeclared here (not in a function); did you mean ‘bus_remove_file’? .tlb_remove_table = tlb_remove_table, ^~~~~~~~~~~~~~~~ bus_remove_file make[4]: *** [arch/x86/xen/mmu_pv.o] Error 1 which I solved by: diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c index a21988ec30d3..3114b7c76970 100644 --- a/arch/x86/xen/mmu_pv.c +++ b/arch/x86/xen/mmu_pv.c @@ -67,6 +67,7 @@ #include <asm/init.h> #include <asm/pat.h> #include <asm/smp.h> +#include <asm/tlb.h> #include <asm/xen/hypercall.h> #include <asm/xen/hypervisor.h> > > .pgd_alloc = xen_pgd_alloc, > .pgd_free = xen_pgd_free, > > > -- All the best, Eduardo Valentin