Re: mm/truncate.c:669 VM_BUG_ON_FOLIO() - hit on XFS on different tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Dec 09, 2023 at 05:52:00AM +0000, Matthew Wilcox wrote:
> On Fri, Dec 08, 2023 at 02:39:36PM -0800, Luis Chamberlain wrote:
> > Commit aa5b9178c0190 ("mm: invalidation check mapping before folio_contains")
> > added on v6.6-rc1 moved the VM_BUG_ON_FOLIO() on invalidate_inode_pages2_range()
> > after the truncation check.
> > 
> > We managed to hit this VM_BUG_ON_FOLIO() a few times on v6.6-rc5 with a slew
> > of fstsets tests on kdevops [0] on the following XFS config as defined by
> > kdevops XFS's configurations [1] for XFS with the following failure rates
> > annotated:
> > 
> >   * xfs_reflink_4k: F:1/278 - one out of 278 times
> >     - generic/451: (trace pasted below after running test over 17 hours)
> >   * xfs_nocrc_4k: F:1/1604 - one ou tof 1604 times
> >      - generic/451: https://gist.github.com/mcgrof/2c40a14979ceeb7321d2234a525c32a6
> > 
> > To be clear F:1/1604 means you can run the test in a loop and on test number
> > about 1604 you may run into the bug. It would seem Zorro had hit also
> > with a 64k directory size (mkfs.xfs -n size=65536) on v5.19-rc2, so prior 
> > to Hugh's move of the VM_BUG_ON_FOLIO() while testing generic/132 [0].
> > 
> > My hope is that this could help those interested in reproducing, to
> > spawn up kdevops and just run the test in a loop in the same way.
> > Likewise, if you have a fix to test we can test it as well, but it will
> > take a while as we want to run the test in a loop over and over many
> > times.
> 
> I'm pretty sure this is the same problem recently diagnosed by Charan.
> It's terribly rare, so it'll take a while to find out.  Try the attached
> patch?

Confirmed, at least v6.8-rc2 no longer as this as the commit
fc346d0a70a1 ("mm: migrate high-order folios in swap cache correctly")
was merged as of v6.7-rc8. I ran the test 400 times in a loop.

I'll remove this now from the expunges on kdevops for v6.8-rc2 baseline.

  Luis




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux