On Wed, Aug 13, 2025 at 06:24:11PM +0200, David Hildenbrand wrote: > > > + > > > +FIXTURE_SETUP(prctl_thp_disable_except_madvise) > > > +{ > > > + if (!thp_available()) > > > + SKIP(return, "Transparent Hugepages not available\n"); > > > + > > > + self->pmdsize = read_pmd_pagesize(); > > > + if (!self->pmdsize) > > > + SKIP(return, "Unable to read PMD size\n"); > > > + > > > + if (prctl(PR_SET_THP_DISABLE, 1, PR_THP_DISABLE_EXCEPT_ADVISED, NULL, NULL)) > > > + SKIP(return, "Unable to set PR_THP_DISABLE_EXCEPT_ADVISED\n"); > > > > This should be a test fail I think, as the only ways this could fail are > > invalid flags, or failure to obtain an mmap write lock. > > Running a kernel that does not support it? I can't see anything in the kernel to #ifdef it out so I suppose you mean running these tests on an older kernel? But this is an unsupported way of running self-tests, they are tied to the kernel version in which they reside, and test that specific version. Unless I'm missing something here? > > We could check the errno to distinguish I guess. Which one? manpage says -EINVAL, but can also be due to incorrect invocation, which would mean a typo could mean tests pass but your tests do nothing :) > > -- > Cheers, > > David / dhildenb >