mirror of https://gitee.com/openkylin/linux.git
x86: mm: restore original pte_special check
Commit b38af4721f
("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>
This commit is contained in:
parent
e944fd67b6
commit
c819f37e7e
|
@ -132,13 +132,7 @@ static inline int pte_exec(pte_t pte)
|
||||||
|
|
||||||
static inline int pte_special(pte_t pte)
|
static inline int pte_special(pte_t pte)
|
||||||
{
|
{
|
||||||
/*
|
return pte_flags(pte) & _PAGE_SPECIAL;
|
||||||
* See CONFIG_NUMA_BALANCING pte_numa in include/asm-generic/pgtable.h.
|
|
||||||
* On x86 we have _PAGE_BIT_NUMA == _PAGE_BIT_GLOBAL+1 ==
|
|
||||||
* __PAGE_BIT_SOFTW1 == _PAGE_BIT_SPECIAL.
|
|
||||||
*/
|
|
||||||
return (pte_flags(pte) & _PAGE_SPECIAL) &&
|
|
||||||
(pte_flags(pte) & (_PAGE_PRESENT|_PAGE_PROTNONE));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline unsigned long pte_pfn(pte_t pte)
|
static inline unsigned long pte_pfn(pte_t pte)
|
||||||
|
|
Loading…
Reference in New Issue