Regression test for vn_io_fault
Konstantin Belousov
kostikbel at gmail.com
Wed Jun 5 19:13:17 UTC 2019
On Wed, Jun 05, 2019 at 12:58:21PM -0600, alan somers wrote:
> Thanks for the link. But I can't tell what the expected failure mode is.
> Is it supposed to run until it deadlocks? My idea is to rely on witness.
> It would just run once, and then query witness to see if there was a LOR.
Yes, the failure is a deadlock.
I doubt that witness can catch it at all, with the current structure of
page fault handler. Try to turn use of vn_io_fault off and see witness
warnings with upsdl.
> -Alan
>
> On Wed, Jun 5, 2019, 12:06 PM Konstantin Belousov <kostikbel at gmail.com>
> wrote:
>
> > On Wed, Jun 05, 2019 at 10:29:35AM -0600, Alan Somers wrote:
> > > r236321 added vn_io_fault(), a mechanism for avoiding lock order
> > > reversals when a process reads from one file into a mmap()ed buffer
> > > backed by another file. From the description in the comments of
> > > vn_io_fault() it seems like it would be possible to write a reliable
> > > test that would trigger the LOR. But I can't find any evidence in
> > > svn, or bugzilla of such a test program. None in Phabricator either,
> > > which probably wasn't even running when that commit was made. Did
> > > anybody ever write a test program? If so, I volunteer to ATFify it.
> > The test program is in tools/test/upsdl. I object against removing
> > non-atf version on principle, atf tests are not debuggable. Also this is
> > racing test, so it is not as simple as doing N runs where N is fixed.
> >
> > Anyway, test for the ups@ race is included into stress2, where it belongs.
> >
More information about the freebsd-fs
mailing list