]> git.karo-electronics.de Git - karo-tx-linux.git/commit
x86/mm: Only do a local tlb flush in ptep_set_access_flags()
authorRik van Riel <riel@redhat.com>
Sat, 27 Oct 2012 16:12:11 +0000 (12:12 -0400)
committerIngo Molnar <mingo@kernel.org>
Sun, 28 Oct 2012 13:46:05 +0000 (14:46 +0100)
commit4fd98847ba5c03a9bf9f9a5dae3ed58b35db032c
treed492270c304af00002bc155551750f6afe7adbe2
parentd24fc0571afbe91eb17162079aa0c7aa9a3608cd
x86/mm: Only do a local tlb flush in ptep_set_access_flags()

Because we only ever upgrade a PTE when calling ptep_set_access_flags(),
it is safe to skip flushing entries on remote TLBs.

The worst that can happen is a spurious page fault on other CPUs, which
would flush that TLB entry.

Lazily letting another CPU incur a spurious page fault occasionally
is (much!) cheaper than aggressively flushing everybody else's TLB.

Signed-off-by: Rik van Riel <riel@redhat.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michel Lespinasse <walken@google.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/mm/pgtable.c