[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1477283517-2504-7-git-send-email-khandual@linux.vnet.ibm.com>
Date: Mon, 24 Oct 2016 10:01:55 +0530
From: Anshuman Khandual <khandual@...ux.vnet.ibm.com>
To: linux-kernel@...r.kernel.org, linux-mm@...ck.org
Cc: mhocko@...e.com, js1304@...il.com, vbabka@...e.cz, mgorman@...e.de,
minchan@...nel.org, akpm@...ux-foundation.org,
aneesh.kumar@...ux.vnet.ibm.com, bsingharora@...il.com
Subject: [RFC 6/8] mm: Make VM_CDM marked VMAs non migratable
Auto NUMA does migratability check on any given VMA before scanning it for
marking purpose. For now if the coherent device memory has been faulted in
or migrated into a process VMA, it should not be part of the auto NUMA
migration scheme. The check is based on VM_CDM flag.
Signed-off-by: Anshuman Khandual <khandual@...ux.vnet.ibm.com>
---
include/linux/mempolicy.h | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h
index 5e5b296..09d4b70 100644
--- a/include/linux/mempolicy.h
+++ b/include/linux/mempolicy.h
@@ -171,9 +171,26 @@ extern int mpol_parse_str(char *str, struct mempolicy **mpol);
extern void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol);
+#ifdef CONFIG_COHERENT_DEVICE
+static bool is_cdm_vma(struct vm_area_struct *vma)
+{
+ if (vma->vm_flags & VM_CDM)
+ return true;
+ return false;
+}
+#else
+static bool is_cdm_vma(struct vm_area_struct *vma)
+{
+ return false;
+}
+#endif
+
/* Check if a vma is migratable */
static inline bool vma_migratable(struct vm_area_struct *vma)
{
+ if (is_cdm_vma(vma))
+ return false;
+
if (vma->vm_flags & (VM_IO | VM_PFNMAP))
return false;
--
2.1.0
Powered by blists - more mailing lists