summaryrefslogtreecommitdiffstats
path: root/mm/pgtable-generic.c
diff options
context:
space:
mode:
authorKirill A. Shutemov2018-02-01 01:18:13 +0100
committerLinus Torvalds2018-02-01 02:18:38 +0100
commit86fa949b050184ffc53688516a6a83ae5f98d08a (patch)
tree58d1c3e2704aa32706c528afd6030a70de60ae15 /mm/pgtable-generic.c
parentsparc64: update pmdp_invalidate() to return old pmd value (diff)
downloadkernel-qcow2-linux-86fa949b050184ffc53688516a6a83ae5f98d08a.tar.gz
kernel-qcow2-linux-86fa949b050184ffc53688516a6a83ae5f98d08a.tar.xz
kernel-qcow2-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 'mm/pgtable-generic.c')
0 files changed, 0 insertions, 0 deletions