On 2022/3/1 7:57, Yang Shi wrote: > The DAX vma may be seen by khugepaged when the mm has other khugepaged > suitable vmas. So khugepaged may try to collapse THP for DAX vma, but > it will fail due to page sanity check, for example, page is not > on LRU. Yep. There is PageLRU check in khugepaged_scan_{file,pmd}. > > So it is not harmful, but it is definitely pointless to run khugepaged > against DAX vma, so skip it in early check. > This patch looks good to me. Thanks. Reviewed-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > Signed-off-by: Yang Shi <shy828301@xxxxxxxxx> > --- > mm/khugepaged.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 82c71c6da9ce..a0e4fa33660e 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -448,6 +448,10 @@ static bool hugepage_vma_check(struct vm_area_struct *vma, > if (vm_flags & VM_NO_KHUGEPAGED) > return false; > > + /* Don't run khugepaged against DAX vma */ > + if (vma_is_dax(vma)) > + return false; > + > if (vma->vm_file && !IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - > vma->vm_pgoff, HPAGE_PMD_NR)) > return false; >