sh: Use local TLB flush for get_mmu_context() ASID exhaustion.
authorPaul Mundt <lethal@linux-sh.org>
Thu, 20 Aug 2009 08:24:40 +0000 (17:24 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 20 Aug 2009 08:24:40 +0000 (17:24 +0900)
When get_mmu_context() runs out of new ASIDs it flushes the TLB and
wraps around. Despite the fact the ASIDs are tracked per-CPU, a global
TLB flush was being used. Switch this over to a local one, as matches
the intent.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/include/asm/mmu_context.h

index 67d8946..41080b1 100644 (file)
@@ -69,7 +69,7 @@ static inline void get_mmu_context(struct mm_struct *mm, unsigned int cpu)
                 * We exhaust ASID of this version.
                 * Flush all TLB and start new cycle.
                 */
-               flush_tlb_all();
+               local_flush_tlb_all();
 
 #ifdef CONFIG_SUPERH64
                /*