s390/mm: add NUMA balancing primitives
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 23 Sep 2014 12:01:34 +0000 (14:01 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 3 Aug 2015 08:05:58 +0000 (10:05 +0200)
Define pte_protnone and pmd_protnone for NUMA memory migration.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/pgtable.h

index f66d82798a6a7725f7e3eeeb547d8bb2d433719e..bdb2f51124edeff48399eb007a1bdd90a5c44340 100644 (file)
@@ -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;