diff options
author | Kirill A. Shutemov <kirill.shutemov@linux.intel.com> | 2018-02-01 01:18:13 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-01 02:18:38 +0100 |
commit | 86fa949b050184ffc53688516a6a83ae5f98d08a (patch) | |
tree | 58d1c3e2704aa32706c528afd6030a70de60ae15 /include/asm-generic/pgtable.h | |
parent | sparc64: update pmdp_invalidate() to return old pmd value (diff) | |
download | linux-86fa949b050184ffc53688516a6a83ae5f98d08a.tar.xz linux-86fa949b050184ffc53688516a6a83ae5f98d08a.zip |
x86/mm: provide pmdp_establish() helper
We need an atomic way to setup pmd page table entry, avoiding races with
CPU setting dirty/accessed bits. This is required to implement
pmdp_invalidate() that doesn't lose these bits.
On PAE we can avoid expensive cmpxchg8b for cases when new page table
entry is not present. If it's present, fallback to cpmxchg loop.
[akpm@linux-foundation.org: add missing `do' to do-while loop]
Link: http://lkml.kernel.org/r/20171213105756.69879-10-kirill.shutemov@linux.intel.com
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-generic/pgtable.h')
0 files changed, 0 insertions, 0 deletions