diff options
author | Mel Gorman <mgorman@suse.de> | 2015-02-12 17:58:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-12 21:54:08 -0500 |
commit | c819f37e7e174d68cd013abf33725b4e07ced023 (patch) | |
tree | 131bbb70b02b61f0096d38e27a7302e5bc244387 | |
parent | e944fd67b625c02bda4a78ddf85e413c5e401474 (diff) |
x86: mm: restore original pte_special check
Commit b38af4721f59 ("x86,mm: fix pte_special versus pte_numa") adjusted
the pte_special check to take into account that a special pte had
SPECIAL and neither PRESENT nor PROTNONE. Now that NUMA hinting PTEs
are no longer modifying _PAGE_PRESENT it should be safe to restore the
original pte_special behaviour.
Signed-off-by: Mel Gorman <mgorman@suse.de>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Dave Jones <davej@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kirill Shutemov <kirill.shutemov@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/x86/include/asm/pgtable.h | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 34d42a7d5595..67fc3d2b0aab 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h | |||
@@ -132,13 +132,7 @@ static inline int pte_exec(pte_t pte) | |||
132 | 132 | ||
133 | static inline int pte_special(pte_t pte) | 133 | static inline int pte_special(pte_t pte) |
134 | { | 134 | { |
135 | /* | 135 | return pte_flags(pte) & _PAGE_SPECIAL; |
136 | * See CONFIG_NUMA_BALANCING pte_numa in include/asm-generic/pgtable.h. | ||
137 | * On x86 we have _PAGE_BIT_NUMA == _PAGE_BIT_GLOBAL+1 == | ||
138 | * __PAGE_BIT_SOFTW1 == _PAGE_BIT_SPECIAL. | ||
139 | */ | ||
140 | return (pte_flags(pte) & _PAGE_SPECIAL) && | ||
141 | (pte_flags(pte) & (_PAGE_PRESENT|_PAGE_PROTNONE)); | ||
142 | } | 136 | } |
143 | 137 | ||
144 | static inline unsigned long pte_pfn(pte_t pte) | 138 | static inline unsigned long pte_pfn(pte_t pte) |