public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET 0/2] fstests: io_uring tweaks
@ 2023-08-29 23:15 Darrick J. Wong
  2023-08-29 23:15 ` [PATCH 1/2] generic/61[67]: support SOAK_DURATION Darrick J. Wong
  2023-08-29 23:15 ` [PATCH 2/2] generic: only enable io_uring in fsstress explicitly Darrick J. Wong
  0 siblings, 2 replies; 8+ messages in thread
From: Darrick J. Wong @ 2023-08-29 23:15 UTC (permalink / raw)
  To: djwong, zlang; +Cc: linux-xfs, fstests, guan

Hi all,

I recently added io_uring to my main testing configuration, and a couple
of things stood out to me: First, generic/616 and generic/617 are long
soak test cases specifically for io_uring.  Therefore, we ought to allow
control via SOAK_DURATION.

The second problem is nastier.  If liburing is present, fsstress will
/always/ try to use it, unlike fsx, which requires a -U argument.  I
think both tools should require explicit opt-in to facilitate A/B
testing between the old IO paths and this new one, so I added a similar
-U switch to fsstress and a new testcase for it.

While I was doing that, I noticed quite a few regressions in fstests,
which fell into two classes.  The first class is umount failing with
EBUSY.  Apparently this is due to the kernel uring code hanging on to
file references even after the userspace program exits.  Tests that run
fsstress and immediately unmount now fail due to the EBUSY.  As a
result, nearly all of the online fsck functional test cases and the
metadata update stress tests now exhibit sporadic failures.  Requiring
explicit opt-in to uring makes that go away.

The second problem I noticed is that fsstress now lodges complaints about
sporadic heap corruption.  I /think/ this is due to some kind of memory
mishandling bug when uring is active but IO requests fail, but I haven't
had the time to go figure out where that happens.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems.  Enjoy!
Comments and questions are, as always, welcome.

--D

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=uring-tweaks
---
 ltp/fsstress.c         |   17 ++++++++++++++---
 tests/generic/1220     |   43 +++++++++++++++++++++++++++++++++++++++++++
 tests/generic/1220.out |    2 ++
 tests/generic/616      |    1 +
 tests/generic/617      |    1 +
 5 files changed, 61 insertions(+), 3 deletions(-)
 create mode 100755 tests/generic/1220
 create mode 100644 tests/generic/1220.out


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-09-01 15:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-29 23:15 [PATCHSET 0/2] fstests: io_uring tweaks Darrick J. Wong
2023-08-29 23:15 ` [PATCH 1/2] generic/61[67]: support SOAK_DURATION Darrick J. Wong
2023-08-31 14:18   ` Zorro Lang
2023-09-01 14:53   ` [PATCH v2 " Darrick J. Wong
2023-09-01 15:45     ` Zorro Lang
2023-08-29 23:15 ` [PATCH 2/2] generic: only enable io_uring in fsstress explicitly Darrick J. Wong
2023-08-30 23:10   ` Dave Chinner
2023-08-31 15:18     ` Zorro Lang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox