summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/tlb-radix.c
diff options
context:
space:
mode:
authorAneesh Kumar K.V2016-07-13 11:36:40 +0200
committerMichael Ellerman2016-08-01 03:15:10 +0200
commitd8e91e93e97817e8ba069c9c44fb712619cf0a43 (patch)
treec216b85ba9187bcac0ba250562585be7753b38bc /arch/powerpc/mm/tlb-radix.c
parentpowerpc/mm: Drop multiple definition of mm_is_core_local (diff)
downloadkernel-qcow2-linux-d8e91e93e97817e8ba069c9c44fb712619cf0a43.tar.gz
kernel-qcow2-linux-d8e91e93e97817e8ba069c9c44fb712619cf0a43.tar.xz
kernel-qcow2-linux-d8e91e93e97817e8ba069c9c44fb712619cf0a43.zip
powerpc/mm/radix: Add tlb flush of THP ptes
Instead of flushing the entire mm, implement a flush_pmd_tlb_range Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/mm/tlb-radix.c')
-rw-r--r--arch/powerpc/mm/tlb-radix.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/mm/tlb-radix.c b/arch/powerpc/mm/tlb-radix.c
index 4d0f03ad0996..456c155fe76c 100644
--- a/arch/powerpc/mm/tlb-radix.c
+++ b/arch/powerpc/mm/tlb-radix.c
@@ -391,3 +391,10 @@ void radix__flush_tlb_lpid(unsigned long lpid)
asm volatile("eieio; tlbsync; ptesync": : :"memory");
}
EXPORT_SYMBOL(radix__flush_tlb_lpid);
+
+void radix__flush_pmd_tlb_range(struct vm_area_struct *vma,
+ unsigned long start, unsigned long end)
+{
+ radix__flush_tlb_range_psize(vma->vm_mm, start, end, MMU_PAGE_2M);
+}
+EXPORT_SYMBOL(radix__flush_pmd_tlb_range);