On Tue, Sep 29, 2026 at 10:21:53AM +0200, David Hildenbrand (Arm) wrote: > On 9/23/26 17:29, Yeoreum Yun wrote: > > Although the child process in collapse_fork*() or collapse_max_ptes_shared() > > reports `KSFT_FAIL`, the result is ignored because the test only checks > > whether the parent’s page was collapsed into a huge page. > > > > As a result, the test is considered successful whenever the parent’s page > > is a huge page, even if the child test fails, as shown below: > > > > # > > # Run test: collapse_max_ptes_shared (khugepaged:anon) > > # Allocate huge page... OK > > # Share huge page over fork()... OK > > # Trigger CoW on page 1023 of 2048... OK > > # Maybe collapse with max_ptes_shared exceeded.... OK > > # Trigger CoW on page 1024 of 2048... Fail > > Bail out! Unexpected huge page > > # Planned tests != run tests (26 != 23) > > # Totals: pass:23 fail:0 xfail:0 xpass:0 skip:0 error:0 // child failed. > > # Check if parent still has huge page... OK // parent hpage > > success > > ok 24 collapse_max_ptes_shared // considered as > > success > > ... > > # Totals: pass:26 fail:0 xfail:0 xpass:0 skip:0 error:0 > > > > To address this, propagate the child’s failure and skip the subsequent > > check in the parent. > > > > Reviewed-by: Baolin Wang <[email protected]> > > Signed-off-by: Yeoreum Yun <[email protected]> > > --- > > That test implementation is rather messy ... :)
Yeah, I wish we could just convert more and more tests to the harness. Makes everything easier...! > > Acked-by: David Hildenbrand (Arm) <[email protected]> Patch LGTM so: Reviewed-by: Lorenzo Stoakes (ARM) <[email protected]> > > -- > Cheers, > > David -- Cheers, Lorenzo

