On Wed 14-06-17 12:26:46, Dan Williams wrote: > On Wed, Jun 14, 2017 at 5:45 AM, Michal Hocko <mhocko@xxxxxxxxxx> wrote: > > On Tue 13-06-17 16:08:26, Dan Williams wrote: > >> Turn the macro into a static inline and rewrite the condition checks for > >> better readability in preparation for adding another condition. > >> > >> Cc: Jan Kara <jack@xxxxxxx> > >> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > >> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> > >> [ross: fix logic to make conversion equivalent] > >> Acked-by: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> > >> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> > > > > This is really a nice deobfuscation! Please note this will conflict with > > http://lkml.kernel.org/r/1496415802-30944-1-git-send-email-rppt@xxxxxxxxxxxxxxxxxx > > > > > > Trivial to resolve but I thought I should give you a heads up. > > Hmm, I'm assuming that vma_is_dax() should override PRCTL_THP_DISABLE? > ...and while we're there should vma_is_dax() also override > VM_NOHUGEPAGE? This is with the assumption that the reason to turn off > huge pages is to avoid mm pressure, dax exerts no such pressure. As the changelog of the referenced patch says another reason is to stop khugepaged from interfering and collapsing smaller pages into THP. If DAX mappings are subject to khugepaged then we really need to exclude it. Why would you want to override user's decision to disable THP anyway? I can see why the global knob should be ignored but if the disable is targeted for the specific VMA or the process then we should obey that, no? > > Acked-by: Michal Hocko <mhocko@xxxxxxxx> > > Thanks for the heads up. -- Michal Hocko SUSE Labs