On 9/28/18 3:36 PM, Dan Williams wrote:
On Fri, Sep 28, 2018 at 3:34 PM <[email protected]> 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 <[email protected]> Cc: Jan Kara <[email protected]> Cc: Ross Zwisler <[email protected]> Cc: "Kirill A. Shutemov" <[email protected]> Signed-off-by: Yang Shi <[email protected]> --- 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.
Thanks for confirming this. Actually, I had the same question before I came up with this patch. "all cases" sounds a little bit misleading.

