]> 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>
Mon, 19 Nov 2012 01:15:33 +0000 (02:15 +0100)
commitb9de3c455ff0b85b7fc087f06f586097ab9101ec
treeb7f560c254383b59fbb1f64dd22a03d7c5b804fa
parent8becf5b3c6d882f49f2d848d7724b90ab1e948d5
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>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/mm/pgtable.c