On Fri, 11 Nov 2016 20:21:41 -0800 Dan Williams <dan.j.willi...@intel.com> 
wrote:

> Mark dax vmas as not migratable to exclude them from task_numa_work().
> This is especially relevant for device-dax which wants to ensure
> predictable access latency and not incur periodic faults.
>
> ...
>
> @@ -177,6 +178,9 @@ static inline bool vma_migratable(struct vm_area_struct 
> *vma)
>       if (vma->vm_flags & (VM_IO | VM_PFNMAP))
>               return false;
>  
> +     if (vma_is_dax(vma))
> +             return false;
> +
>  #ifndef CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION
>       if (vma->vm_flags & VM_HUGETLB)
>               return false;

I don't think the reader could figure out why this code is here, so...  this?

--- 
a/include/linux/mempolicy.h~mm-disable-numa-migration-faults-for-dax-vmas-fix
+++ a/include/linux/mempolicy.h
@@ -180,6 +180,10 @@ static inline bool vma_migratable(struct
        if (vma->vm_flags & (VM_IO | VM_PFNMAP))
                return false;
 
+       /*
+        * DAX device mappings require predictable access latency, so avoid
+        * incurring periodic faults.
+        */
        if (vma_is_dax(vma))
                return false;
 
_

Reply via email to