On Mon, Mar 25, 2024 at 12:17:28PM +0000, Joao Martins wrote:
However, I am not smart enough to figure out why ...
Apparently, from the source, mmap() fails to allocate pages on the desired address:
1746 assert((uintptr_t)self->buffer % HUGEPAGE_SIZE == 0); 1747 vrc = mmap(self->buffer, variant->buffer_size, PROT_READ | PROT_WRITE, 1748 mmap_flags, -1, 0); → 1749 assert(vrc == self->buffer); 1750
But I am not that deep into the source to figure our what was intended and what went wrong :-/
I can SKIP() the test rather assert() in here if it helps. Though there are other tests that fail if no hugetlb pages are reserved.
But I am not sure if this is problem here as the initial bug email had an enterily different set of failures? Maybe all you need is an assert() and it gets into this state?
I feel like there is something wrong with the kselftest framework, there should be some way to fail the setup/teardown operations without triggering an infinite loop :(
Jason