diff options
author | Kirill A. Shutemov <kirill.shutemov@linux.intel.com> | 2016-01-15 19:53:35 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-15 20:56:32 -0500 |
commit | 1f19617d775879c0863e697fb648154e56918051 (patch) | |
tree | 43a6c5a863dcd45832b07806bf152e80f5290f9c /arch/x86/include | |
parent | 702b63ca328496d5577b6edb40d44fa6a6db8aa0 (diff) |
x86, thp: remove infrastructure for handling splitting PMDs
With new refcounting we don't need to mark PMDs splitting. Let's drop
code to handle this.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Tested-by: Sasha Levin <sasha.levin@oracle.com>
Acked-by: Jerome Marchand <jmarchan@redhat.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Rik van Riel <riel@redhat.com>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Steve Capper <steve.capper@linaro.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Christoph Lameter <cl@linux.com>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/pgtable.h | 9 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable_types.h | 2 |
2 files changed, 0 insertions, 11 deletions
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index d3eee663c41f..61e706c9f710 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h | |||
@@ -162,11 +162,6 @@ static inline int pmd_large(pmd_t pte) | |||
162 | } | 162 | } |
163 | 163 | ||
164 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE | 164 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE |
165 | static inline int pmd_trans_splitting(pmd_t pmd) | ||
166 | { | ||
167 | return pmd_val(pmd) & _PAGE_SPLITTING; | ||
168 | } | ||
169 | |||
170 | static inline int pmd_trans_huge(pmd_t pmd) | 165 | static inline int pmd_trans_huge(pmd_t pmd) |
171 | { | 166 | { |
172 | return pmd_val(pmd) & _PAGE_PSE; | 167 | return pmd_val(pmd) & _PAGE_PSE; |
@@ -808,10 +803,6 @@ extern int pmdp_clear_flush_young(struct vm_area_struct *vma, | |||
808 | unsigned long address, pmd_t *pmdp); | 803 | unsigned long address, pmd_t *pmdp); |
809 | 804 | ||
810 | 805 | ||
811 | #define __HAVE_ARCH_PMDP_SPLITTING_FLUSH | ||
812 | extern void pmdp_splitting_flush(struct vm_area_struct *vma, | ||
813 | unsigned long addr, pmd_t *pmdp); | ||
814 | |||
815 | #define __HAVE_ARCH_PMD_WRITE | 806 | #define __HAVE_ARCH_PMD_WRITE |
816 | static inline int pmd_write(pmd_t pmd) | 807 | static inline int pmd_write(pmd_t pmd) |
817 | { | 808 | { |
diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h index a471cadb9630..d1b76f88ccd1 100644 --- a/arch/x86/include/asm/pgtable_types.h +++ b/arch/x86/include/asm/pgtable_types.h | |||
@@ -22,7 +22,6 @@ | |||
22 | #define _PAGE_BIT_PAT_LARGE 12 /* On 2MB or 1GB pages */ | 22 | #define _PAGE_BIT_PAT_LARGE 12 /* On 2MB or 1GB pages */ |
23 | #define _PAGE_BIT_SPECIAL _PAGE_BIT_SOFTW1 | 23 | #define _PAGE_BIT_SPECIAL _PAGE_BIT_SOFTW1 |
24 | #define _PAGE_BIT_CPA_TEST _PAGE_BIT_SOFTW1 | 24 | #define _PAGE_BIT_CPA_TEST _PAGE_BIT_SOFTW1 |
25 | #define _PAGE_BIT_SPLITTING _PAGE_BIT_SOFTW2 /* only valid on a PSE pmd */ | ||
26 | #define _PAGE_BIT_HIDDEN _PAGE_BIT_SOFTW3 /* hidden by kmemcheck */ | 25 | #define _PAGE_BIT_HIDDEN _PAGE_BIT_SOFTW3 /* hidden by kmemcheck */ |
27 | #define _PAGE_BIT_SOFT_DIRTY _PAGE_BIT_SOFTW3 /* software dirty tracking */ | 26 | #define _PAGE_BIT_SOFT_DIRTY _PAGE_BIT_SOFTW3 /* software dirty tracking */ |
28 | #define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */ | 27 | #define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */ |
@@ -46,7 +45,6 @@ | |||
46 | #define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE) | 45 | #define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE) |
47 | #define _PAGE_SPECIAL (_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL) | 46 | #define _PAGE_SPECIAL (_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL) |
48 | #define _PAGE_CPA_TEST (_AT(pteval_t, 1) << _PAGE_BIT_CPA_TEST) | 47 | #define _PAGE_CPA_TEST (_AT(pteval_t, 1) << _PAGE_BIT_CPA_TEST) |
49 | #define _PAGE_SPLITTING (_AT(pteval_t, 1) << _PAGE_BIT_SPLITTING) | ||
50 | #define __HAVE_ARCH_PTE_SPECIAL | 48 | #define __HAVE_ARCH_PTE_SPECIAL |
51 | 49 | ||
52 | #ifdef CONFIG_KMEMCHECK | 50 | #ifdef CONFIG_KMEMCHECK |