On Tue, 24 Sept 2024 at 12:18, Chris Mason <clm@xxxxxxxx> wrote: > > A few days of load later and some extra printks, it turns out that > taking the writer lock in __filemap_add_folio() makes us dramatically > more likely to just return EEXIST than go into the xas_split_alloc() dance. .. and that sounds like a good thing, except for the test coverage, I guess. Which you seem to have fixed: > With the changes in 6.10, we only get into that xas_destroy() case above > when the conflicting entry is a shadow entry, so I changed my repro to > use memory pressure instead of fadvise. > > I also added a schedule_timeout(1) after the split alloc, and with all > of that I'm able to consistently make the xas_destroy() case trigger > without causing any system instability. Kairui Song's patches do seem > to have fixed things nicely. <confused thumbs up / fingers crossed emoji> Linus