Re: [PATCH v8 0/5] Fix I/O priority lost in device-mapper

From: Mike Snitzer
Date: Mon Jan 29 2024 - 11:34:12 EST


On Wed, Jan 24 2024 at 12:35P -0500,
Hongyu Jin <hongyu.jin.cn@xxxxxxxxx> wrote:

> From: Hongyu Jin <hongyu.jin@xxxxxxxxxx>
>
> High-priority tasks get data from dm-verity devices via RT IO priority,
> I/O will lose RT priority when reading FEC and hash values via kworker
> submission IO during verification, and the verification phase may be
> blocked by low-priority IO.
>
> Dm-crypt has the same problem in the data writing process.
>
> This is because io_context and blkcg are missing.
>
> Move bio_set_ioprio() into submit_bio():
> 1. Only call bio_set_ioprio() once to set the priority of original bio,
> the bio that cloned and splited from original bio will auto inherit
> the priority of original bio in clone process.
>
> 2. Make the IO priority of the original bio to be passed to dm,
> and the dm target inherits the IO priority as needed.
>
> Changes in v8:
> - Rebase patch 1 on commit 7ed2632ec7d7
> Changes in v7:
> - Modify patch 4: change dm-verity-fec.c
> Changes in v6:
> - Rebase patch and resolve conflict for patch 1, 3, 4
> - Modify patch 4: fec_read_parity() follow the priority of original
> bio
> - Update commit message
> Changes in v5:
> - Rewrite patch 2, add ioprio parameter in dm_io();
> - Modify dm_io() in patch 3
> Changes in v4:
> - Modify commit message by Suggestion
> - Modify patch for dm-crypt
> Changes in v3:
> - Split patch for device-mapper
> - Add patch to fix dm-crypy I/O priority question
> - Add block patch to review together
> - Fix some error in v2 patch
> Changes in v2:
> - Add ioprio field in struct dm_io_region
> - Initial struct dm_io_region::ioprio to IOPRIO_DEFAULT
> - Add two interface
>
>
> Hongyu Jin (5):
> block: Fix bio IO priority setting
> dm: Support I/O priority for dm_io()
> dm-bufio: Support I/O priority
> dm verity: Fix I/O priority lost when read FEC and hash
> dm-crypt: Fix lost ioprio when queuing write bios

Sorry for the delay.. I've been consumed with other work. I will look
at this patchset for consideration for the 6.9 merge window (we still
have time to make changes given we're now squarely in the 6.9
development window). So I appreciate getting you feedback sooner
rather than later is both useful and important.

I see Eric provided his Reviewed-by for v7 -- that really helps. BUT,
for some reason you didn't add his provided Reviewed-by to each commit
when you rebased with v8...

Mikulas, if you beat me to providing closer review: great. If not,
that's cool. That DM requires such care (with sprinkling changes
throughout DM core and targets) is unfortunate -- but could be
unavoidable all things considered. I will look closer "soon" (if not
this week then next).

Thanks for following up!

Mike