diff options
author | Gerald Schaefer <gerald.schaefer@de.ibm.com> | 2012-10-08 19:30:09 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-09 03:22:29 -0400 |
commit | 46dcde735c9d8953bbd8d105ca6779e5b5300c28 (patch) | |
tree | 48298fd35d0ef0091541bad482f06202aba97ad3 /include/asm-generic | |
parent | e3ebcf64381188a2744a9829a4eb5c2b60f1974c (diff) |
thp: introduce pmdp_invalidate()
On s390, a valid page table entry must not be changed while it is attached
to any CPU. So instead of pmd_mknotpresent() and set_pmd_at(), an IDTE
operation would be necessary there. This patch introduces the
pmdp_invalidate() function, to allow architecture-specific
implementations.
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Hillf Danton <dhillf@gmail.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-generic')
-rw-r--r-- | include/asm-generic/pgtable.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 044939f21c1..ebdd74fb8d6 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
@@ -170,6 +170,11 @@ extern void pgtable_trans_huge_deposit(struct mm_struct *mm, pgtable_t pgtable); | |||
170 | extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm); | 170 | extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm); |
171 | #endif | 171 | #endif |
172 | 172 | ||
173 | #ifndef __HAVE_ARCH_PMDP_INVALIDATE | ||
174 | extern void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, | ||
175 | pmd_t *pmdp); | ||
176 | #endif | ||
177 | |||
173 | #ifndef __HAVE_ARCH_PTE_SAME | 178 | #ifndef __HAVE_ARCH_PTE_SAME |
174 | static inline int pte_same(pte_t pte_a, pte_t pte_b) | 179 | static inline int pte_same(pte_t pte_a, pte_t pte_b) |
175 | { | 180 | { |