On Fri, Sep 28, 2018 at 3:34 PM <yang.shi@xxxxxxxxxxxxxxxxx> wrote: > > commit baabda261424517110ea98c6651f632ebf2561e3 ("mm: always enable thp > for dax mappings") says madvise hguepage policy makes less sense for > dax, and force enabling thp for dax mappings in all cases, even though > THP is set to "never". > > However, transparent_hugepage_enabled() may return false if > VM_NOHUGEPAGE is set even though the mapping is dax. > > So, move is_vma_dax() check to the very beginning to enforce THP for dax > mappings in all cases. > > Cc: Dan Williams <dan.j.williams@xxxxxxxxx> > Cc: Jan Kara <jack@xxxxxxx> > Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> > Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> > Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx> > --- > I didn't find anyone mention the check should be before VM_NOHUGEPAGE in > the review for Dan's original patch. And, that patch commit log states > clearly that THP for dax mapping for all cases even though THP is never. > So, I'm supposed it should behave in this way. No, if someone explicitly does MADV_NOHUGEPAGE then the kernel should honor that, even if the mapping is DAX.