[Devel] [PATCH VZ9 v2 0/6] ploop BAT optimizations

Andrey Zhadchenko andrey.zhadchenko at virtuozzo.com
Wed Oct 9 15:17:20 MSK 2024


With this patchset, we start to check if the upcoming requests for ploop
have REQ_FUA flag.
If the flag is present:
 - IO submits immediately, completion waits for BAT update
 - BAT updates submit immediately
 - set IOCB_DSYNC for writes and BAT updates
 - BAT update does not trigger flush
If the flag is absent:
 - IO completion does not wait for BAT update
 - all BAT updates are periodically submitted in a batch 
 - BAT update does not trigger flush

New parameter with metadata submit delay can be specified when setting
up ploop table

v2 changes:
- drop flush after BAT updates even for FUA requests
- set IOCB_DSYNC flag on writes triggered by FUA
- complete all accumulated metadata on FLUSH requests
- support REQ_PREFLUSH flag

Andrey Zhadchenko (3):
  dm-ploop: do not flush BAT writes if request was not FUA
  dm-ploop: do not wait for BAT update for non-FUA requests
  dm-ploop: add delay for metadata writeback


*** BLURB HERE ***

Andrey Zhadchenko (6):
  dm-ploop: do not flush after metadata writes
  dm-ploop: set IOCB_DSYNC on all FUA requests
  dm-ploop: do not wait for BAT update for non-FUA requests
  dm-ploop: add delay for metadata writeback
  dm-ploop: submit all postponed metadata on REQ_OP_FLUSH
  dm-ploop: handle REQ_PREFLUSH

 drivers/md/dm-ploop-bat.c    |   1 +
 drivers/md/dm-ploop-map.c    | 154 +++++++++++++++++++++++++++--------
 drivers/md/dm-ploop-target.c |  13 +++
 drivers/md/dm-ploop.h        |   9 ++
 4 files changed, 143 insertions(+), 34 deletions(-)

-- 
2.39.3



More information about the Devel mailing list