On Tue, Jun 13, 2017 at 02:16:49PM -0700, Dan Williams wrote: > On Tue, Jun 13, 2017 at 2:06 PM, Ross Zwisler > <ross.zwisler@xxxxxxxxxxxxxxx> wrote: > > So, if the VM_NOHUGEPAGE flag is set or if the vma is for a temporary stack, > > we always bail. Also, we only care about the VM_HUGEPAGE flag in the presence > > of TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG. > > > > I think this static inline is logically equivalent (untested): > > > > static inline bool transparent_hugepage_enabled(struct vm_area_struct *vma) > > { > > if ((vma->vm_flags & VM_NOHUGEPAGE) || is_vma_temporary_stack(vma)) > > return false; > > > > if (transparent_hugepage_flags & (1 << TRANSPARENT_HUGEPAGE_FLAG)) > > return true; > > > > if ((transparent_hugepage_flags & > > (1 << TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG)) > > && vma->vm_flags & VM_HUGEPAGE) > > return true; > > We can clean this up a bit and do: > > return !!(vma->vm_flags & VM_HUGEPAGE) > > ...to drop the && Sure, that'll read better.