On 6/2/26 10:51 AM, Jerome Marchand wrote: > On 02/06/2026 11:26, Shung-Hsi Yu wrote: >> On Tue, Apr 21, 2026 at 07:59:08AM +0200, Jerome Marchand wrote: >>> On 4/20/26 6:52 PM, Mykyta Yatsenko wrote: >>>> On 4/20/26 2:46 PM, Jerome Marchand wrote: >>>>> The file_reader/on_open_expect_fault fails consistently on my system. >>>>> It expects a page fault on first dynptr read of some range the exe >>>>> file of the current process because it has paged out that page range >>>>> earlier. However a lot can happen to that range (which depending on >>>>> the actual memory layout could contain text section, data section, >>>>> sections )related to dynamic linking...) between the moment it was >>>>> paged out and the moment the bpf program expected to hit a pagefault >>>>> actually run. >>>>> >>>>> A bit of instrumentation with mincore() shows that pages from that >>>>> range were accessed several times before the program is run. In >>>>> particular the call of file_reader__load() seems to fault all the >>>>> range in. >>>>> >>>>> Move the call to madvise(MADV_PAGEOUT) to just before attaching the >>>>> program to minimize the risk of having those page pulled back in from >>>>> under our feet. >>>>> >>>>> Signed-off-by: Jerome Marchand <[email protected]> >>>>> --- >>>> >>>> Thank you for the patch, the change looks good. Does it fail >>>> consistently on 4K page size? >>> >>> It did when I ran the test manually. On our automated testing system, it >>> failed intermittently. >> >> On my fork of BPF CI the test was failing[1] consistently, even when >> this commit is applied. However I wasn't able to reproduce locally on my >> laptop when I ran manually. >> >> Any hints regarding where to look and how to reproduce? > > To investigate the failure I witnessed I instrumented the test with some > calls to mincore(). You can do that to see whether madvise(PAGEOUT) didn't > successfully paged out those pages, or if they were paged back in by the MM > subsystem. I'm afraid that this test isn't very robust: the MM subsystem is > the one that ultimately decides which pages are in or out and it might not > work in the way that this test assumes. >
thanks for the reports, this test is indeed flaky. I'll take a look if it's possible to fix it, or we should just delete it. > Thanks, > Jerome > >> >> Thanks, >> Shung-Hsi >> >> 1: >> https://github.com/shunghsiyu/libbpf/actions/runs/26807198259/job/79027625188 >> >> ... >> >

