[dm-6.4 PATCH v2 0/9] dm bufio, thin: improve concurrent IO performance

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

 



Hi,

This patchset has been staged in linux-next for the 6.4 merge
window. The relevant linux-dm.git branch is here:
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git/log/?h=dm-6.4

The initial patchset I posted earlier in the week for this line of
work didn't properly split DM thin's discards. To be clear: both Joe
and I missed this, and the issue impacted the patchset I posted _and_
code Joe had developed and tested to that point.

device-mapper-test-suite's "discard_with_fstrim_passdown_true_ext4"
test reliably reproduced the incorrect splitting.  The issue was the
DM thin target wasn't respecting the new restrictions imposed by
dm bio-prison-v1 (which the DM thin target uses). Joe fixed this and
the code reflects that in patch 9.

All said, and as detailed in the "Testing" section of the header for
patch 3: these changes have _now_ been extensively tested in terms of
dm-thin (and dm-cache as much as device-mapper-test-suite
provides). The cryptsetup testsuite also passes (DM integrity uses
dm-bufio).

PLEASE HELP with further testing of other more exotic DM bufio
consumers and elaborate usecases (be it via Android, Chrome OS, etc).

Please use whatever tests you have to put pressure on bufio.
In particular: focused testing of bufio's shrinker, verify
DM_BUFIO_CLIENT_NO_SLEEP (via dm-verity's tasklets), etc.

There is still time to add fixes for 6.4 should any issues turn
up.

All review is welcome (I'll rebase to include Reviewed-by or Acked-by
tags). Also, positive reports in the form of Tested-by replies are
welcome!

Thanks,
Mike

Joe Thornber (4):
  dm bufio: remove unused dm_bufio_release_move interface
  dm bufio: improve concurrent IO performance
  dm thin: speed up cell_defer_no_holder()
  dm bio prison v1: improve concurrent IO performance

Mike Snitzer (3):
  dm bufio: move dm_buffer struct
  dm bufio: move dm_bufio_client members to avoid spanning cachelines
  dm: split discards further if target sets max_discard_granularity

Mikulas Patocka (2):
  dm bufio: use waitqueue_active in __free_buffer_wake
  dm bufio: use multi-page bio vector

 drivers/md/dm-bio-prison-v1.c |   87 +-
 drivers/md/dm-bio-prison-v1.h |   10 +
 drivers/md/dm-bufio.c         | 1970 ++++++++++++++++++++++-----------
 drivers/md/dm-thin.c          |  110 +-
 drivers/md/dm.c               |   25 +-
 include/linux/device-mapper.h |    6 +
 include/linux/dm-bufio.h      |    6 -
 include/uapi/linux/dm-ioctl.h |    4 +-
 8 files changed, 1509 insertions(+), 709 deletions(-)

-- 
2.40.0




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux