powerpc/mm/hash: Do a local flush if possible when no batch is active
authorBalbir Singh <bsingharora@gmail.com>
Thu, 25 May 2017 07:28:32 +0000 (17:28 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 5 Jun 2017 09:02:55 +0000 (19:02 +1000)
commitc5cee6421cd651446b93c231f0ab8ff2530ba25d
treeb9505e91b8da77edf6a5fe1b55a3d57915d4d684
parent64d09f5ecb237974bc824800e5e5012fd71801c7
powerpc/mm/hash: Do a local flush if possible when no batch is active

Currently in hpte_need_flush() if there is no batch pending we always do a
global TLB flush, which is inefficient if the mm has never run on another
thread.

Instead do the same check that __flush_tlb_pending() does and check if a local
flush is sufficient when batch->active is false. Instead of open-coding it we
use mm_is_thread_local().

Signed-off-by: Balbir Singh <bsingharora@gmail.com>
[mpe: Don't use a local, just inline mm_is_thread_local()]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/tlb_hash64.c