On Thu, 10 Mar 2022, David Hildenbrand wrote: > On 08.03.22 22:34, Zach O'Keefe wrote: > > In madvise collapse context, we optionally want to be able to ignore > > advice from MADV_NOHUGEPAGE-marked regions. > > > > Add a vm_flags_ignore argument to hugepage_vma_revalidate_pmd_count() > > which can be used to ignore vm flags used when considering thp > > eligibility. > > arch/s390/mm/gmap.c:thp_split_mm() sets VM_NOHUGEPAGE to make sure there > are *really* no thp. Being able to bypass that would break KVM horribly. > > Ignoring MADV_NOHUGEPAGE/VM_NOHUGEPAGE feels like the wrong way to go. > Agreed, we'll have to remove this possibility. > What about a prctl instead, to disable any khugepagd activity and just > let that process control it manually? > No objection to the prctl, although it's unfortunate that the existing PR_SET_THP_DISABLE simply disables thp for the process entirely for any non-zero value and that this wasn't implemented as a bitmask to specify future behavior where this new behavior could be defined :/ I'll note, however, that we'd have no immediate use case ourselves for the prctl, although others may. Our approach will likely be to disable khugepaged entirely in favor of outsourcing hugepage policy decisions to userspace based on a number of different signals. (In fact, also doing thp enabled = madvise system wide)