arch, mm: Remove tlb_fast_mode()
authorPeter Zijlstra <peterz@infradead.org>
Wed, 5 Jun 2013 10:26:50 +0000 (12:26 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 6 Jun 2013 01:07:26 +0000 (10:07 +0900)
commit29eb77825cc7da8d45b642de2de3d423dc8a363f
tree689c3c9f8b34f8023899ba8c230ea04c4dc21e54
parent2c95523c0f0ca7c2f157a07f0c03b6bbba13fee6
arch, mm: Remove tlb_fast_mode()

Since the introduction of preemptible mmu_gather TLB fast mode has been
broken. TLB fast mode relies on there being absolutely no concurrency;
it frees pages first and invalidates TLBs later.

However now we can get concurrency and stuff goes *bang*.

This patch removes all tlb_fast_mode() code; it was found the better
option vs trying to patch the hole by entangling tlb invalidation with
the scheduler.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Tony Luck <tony.luck@intel.com>
Reported-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arm/include/asm/tlb.h
arch/ia64/include/asm/tlb.h
include/asm-generic/tlb.h
mm/memory.c