powerpc/mm: convert tlbie to tlbiel when no batch is active
PATCH v2 1/1 powerpc/mm: convert tlbie to tlbiel when no batch is active
Do the checks that __flush_tlb_pending() does and check if a local flush will do when batch->active is false inside of hpte_need_flush(). I've checked the changes with tlbie tracing, I see local flushes as applicable now and I've also run some basic ltp testcases on top of these changes on a powernv machine.
--- arch/powerpc/mm/tlb_hash64.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
arch/powerpc/mm/tlb_hash64.c +5 -4
@@ -93,12 +93,13 @@ void hpte_need_flush(struct mm_struct *mm, unsigned long addr,/* * Check if we have an active batch on this CPU. If not, just -* flush now and return. For now, we don global invalidates -* in that case, might be worth testing the mm cpu mask though -* and decide to use local invalidates instead... +* flush now and return. */ if (!batch->active) { -flush_hash_page (vpn, rpte, psize, ssize,0 ); +int local =0 ; +if (mm_is_thread_local (mm)) + local =1 ; +flush_hash_page (vpn, rpte, psize, ssize, local);put_cpu_var (ppc64_tlb_batch);return ; }
Signature · 1 line
2.9.3
Michael Ellerman
AppliedQuoted 8 lines · Balbir Singh
Do the checks that
__flush_tlb_pending()does and check if a local flush will do whenbatch->activeis false inside ofhpte_need_flush(). I've checked the changes with tlbie tracing, I see local flushes as applicable now and I've also run some basic ltp testcases on top of these changes on a powernv machine.Signed-off-by Balbir Singh <[email protected]>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/c5cee6421cd651446b93c231f0ab8f
cheers