Re: [PATCH] mm: disable numa migration faults for dax vmas

From: Dan Williams
Date: Mon Nov 14 2016 - 20:07:57 EST


On Mon, Nov 14, 2016 at 4:25 PM, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, 11 Nov 2016 20:21:41 -0800 Dan Williams <dan.j.williams@xxxxxxxxx> 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;
>

Yes, thanks for fixing it up.