summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/paravirt.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2018-08-22 17:30:16 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2018-08-23 20:56:31 +0200
commit48a8b97cfd804a965fbbe7be2d56a7984ef6bdb1 (patch)
tree4c83ec53b89bf5f05a6e65f7b332ac1ab4ef0983 /arch/x86/include/asm/paravirt.h
parentmm: mmu_notifier fix for tlb_end_vma (diff)
downloadlinux-48a8b97cfd804a965fbbe7be2d56a7984ef6bdb1.tar.xz
linux-48a8b97cfd804a965fbbe7be2d56a7984ef6bdb1.zip
x86/mm: Only use tlb_remove_table() for paravirt
If we don't use paravirt; don't play unnecessary and complicated games to free page-tables. Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Rik van Riel <riel@surriel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/include/asm/paravirt.h')
-rw-r--r--arch/x86/include/asm/paravirt.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index d49bbf4bb5c8..e375d4266b53 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -309,6 +309,11 @@ static inline void flush_tlb_others(const struct cpumask *cpumask,
PVOP_VCALL2(pv_mmu_ops.flush_tlb_others, cpumask, info);
}
+static inline void paravirt_tlb_remove_table(struct mmu_gather *tlb, void *table)
+{
+ PVOP_VCALL2(pv_mmu_ops.tlb_remove_table, tlb, table);
+}
+
static inline int paravirt_pgd_alloc(struct mm_struct *mm)
{
return PVOP_CALL1(int, pv_mmu_ops.pgd_alloc, mm);