diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-09-23 14:01:34 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2015-08-03 10:05:58 +0200 |
commit | b54565b86824ecc9f0ad5d0ee69696f38edc50fd (patch) | |
tree | 99b98bf8b36982e1659d5f91ec9e27aa12fe74b1 | |
parent | 888d5e9804bb401f3531b700cc93da0bdf8496bf (diff) | |
download | linux-b54565b86824ecc9f0ad5d0ee69696f38edc50fd.tar.gz linux-b54565b86824ecc9f0ad5d0ee69696f38edc50fd.tar.bz2 linux-b54565b86824ecc9f0ad5d0ee69696f38edc50fd.zip |
s390/mm: add NUMA balancing primitives
Define pte_protnone and pmd_protnone for NUMA memory migration.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | arch/s390/include/asm/pgtable.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h index f66d82798a6a..bdb2f51124ed 100644 --- a/arch/s390/include/asm/pgtable.h +++ b/arch/s390/include/asm/pgtable.h @@ -576,6 +576,19 @@ static inline int pte_same(pte_t a, pte_t b) return pte_val(a) == pte_val(b); } +#ifdef CONFIG_NUMA_BALANCING +static inline int pte_protnone(pte_t pte) +{ + return pte_present(pte) && !(pte_val(pte) & _PAGE_READ); +} + +static inline int pmd_protnone(pmd_t pmd) +{ + /* pmd_large(pmd) implies pmd_present(pmd) */ + return pmd_large(pmd) && !(pmd_val(pmd) & _SEGMENT_ENTRY_READ); +} +#endif + static inline pgste_t pgste_get_lock(pte_t *ptep) { unsigned long new = 0; |