瀏覽代碼

powerpc/mm: update radix__pte_update to not do full mm tlb flush

When we are updating a pte, we just need to flush the tlb mapping
that pte. Right now we do a full mm flush because we don't track page
size. Now that we have page size details in pte use that to do the
optimized flush

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Aneesh Kumar K.V 8 年之前
父節點
當前提交
e58d1cf243
共有 1 個文件被更改,包括 1 次插入7 次删除
  1. 1 7
      arch/powerpc/include/asm/book3s/64/radix.h

+ 1 - 7
arch/powerpc/include/asm/book3s/64/radix.h

@@ -145,13 +145,7 @@ static inline unsigned long radix__pte_update(struct mm_struct *mm,
 		 * new value of pte
 		 * new value of pte
 		 */
 		 */
 		new_pte = (old_pte | set) & ~clr;
 		new_pte = (old_pte | set) & ~clr;
-
-		/*
-		 * For now let's do heavy pid flush
-		 * radix__flush_tlb_page_psize(mm, addr, mmu_virtual_psize);
-		 */
-		radix__flush_tlb_mm(mm);
-
+		radix__flush_tlb_pte_p9_dd1(old_pte, mm, addr);
 		__radix_pte_update(ptep, 0, new_pte);
 		__radix_pte_update(ptep, 0, new_pte);
 	} else
 	} else
 		old_pte = __radix_pte_update(ptep, clr, set);
 		old_pte = __radix_pte_update(ptep, clr, set);