x86: mm: drop TLB flush from ptep_set_access_flags
authorRik van Riel <riel@redhat.com>
Tue, 6 Nov 2012 09:55:18 +0000 (09:55 +0000)
committerMel Gorman <mgorman@suse.de>
Tue, 11 Dec 2012 14:28:33 +0000 (14:28 +0000)
Intel has an architectural guarantee that the TLB entry causing
a page fault gets invalidated automatically. This means
we should be able to drop the local TLB invalidation.

Because of the way other areas of the page fault code work,
chances are good that all x86 CPUs do this.  However, if
someone somewhere has an x86 CPU that does not invalidate
the TLB entry causing a page fault, this one-liner should
be easy to revert.

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

index be3bb46..7353de3 100644 (file)
@@ -317,7 +317,6 @@ int ptep_set_access_flags(struct vm_area_struct *vma,
        if (changed && dirty) {
                *ptep = entry;
                pte_update_defer(vma->vm_mm, address, ptep);
-               __flush_tlb_one(address);
        }
 
        return changed;