From: Hongyu Jin <hongyu.jin.cn@gmail.com>
To: agk@redhat.com, snitzer@kernel.org, mpatocka@redhat.com,
axboe@kernel.dk, ebiggers@kernel.org
Cc: zhiguo.niu@unisoc.com, ke.wang@unisoc.com, yibin.ding@unisoc.com,
hongyu.jin@unisoc.com, linux-kernel@vger.kernel.org,
dm-devel@lists.linux.dev, linux-block@vger.kernel.org
Subject: [PATCH v7 5/5] dm-crypt: Fix lost ioprio when queuing write bios
Date: Thu, 21 Dec 2023 18:31:39 +0800 [thread overview]
Message-ID: <20231221103139.15699-6-hongyu.jin.cn@gmail.com> (raw)
In-Reply-To: <20231221103139.15699-1-hongyu.jin.cn@gmail.com>
From: Hongyu Jin <hongyu.jin@unisoc.com>
Since dm-crypt queues writes to a different kernel thread (workqueue),
the bios will dispatch from tasks with different io_context->ioprio
settings and blkcg than the submitting task, thus giving incorrect
ioprio to the io scheduler.
Get the original io priority setting via struct dm_crypt_io::base_bio
and set this priority to the bio for write.
Link: https://lore.kernel.org/dm-devel/alpine.LRH.2.11.1612141049250.13402@mail.ewheeler.net
Signed-off-by: Hongyu Jin <hongyu.jin@unisoc.com>
---
drivers/md/dm-crypt.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 2ae8560b6a14..ba6e794f7871 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1683,6 +1683,7 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned int size)
GFP_NOIO, &cc->bs);
clone->bi_private = io;
clone->bi_end_io = crypt_endio;
+ clone->bi_ioprio = io->base_bio->bi_ioprio;
remaining_size = size;
--
2.34.1
next prev parent reply other threads:[~2023-12-21 10:32 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <df68c38e-3e38-eaf1-5c32-66e43d68cae3@ewheeler.net>
2023-12-11 8:59 ` [PATCH v3 0/5] Fix I/O priority lost in device-mapper Hongyu Jin
2023-12-11 8:59 ` [PATCH v3 1/5] block: Optimize bio io priority setting Hongyu Jin
2023-12-11 21:12 ` Mike Snitzer
2023-12-11 8:59 ` [PATCH v3 2/5] dm: Support I/O priority for dm_io() Hongyu Jin
2023-12-11 8:59 ` [PATCH v3 3/5] dm-bufio: Support I/O priority Hongyu Jin
2023-12-11 8:59 ` [PATCH v3 4/5] dm verity: Fix I/O priority lost when read FEC and hash Hongyu Jin
2023-12-11 9:00 ` [PATCH v3 5/5] dm-crypt: Fix lost ioprio when queuing write bios Hongyu Jin
2023-12-11 20:32 ` Eric Wheeler
2023-12-11 22:15 ` Mike Snitzer
2023-12-12 11:11 ` [PATCH v4 0/5] Fix I/O priority lost in device-mapper Hongyu Jin
2023-12-12 11:11 ` [PATCH v4 1/5] block: Fix bio IO priority setting Hongyu Jin
2023-12-12 13:13 ` Christoph Hellwig
2023-12-12 18:02 ` Mike Snitzer
2023-12-12 11:11 ` [PATCH v4 2/5] dm: Support I/O priority for dm_io() Hongyu Jin
2023-12-13 4:57 ` Eric Biggers
2023-12-12 11:11 ` [PATCH v4 3/5] dm-bufio: Support I/O priority Hongyu Jin
2023-12-13 5:00 ` Eric Biggers
2023-12-12 11:11 ` [PATCH v4 4/5] dm verity: Fix I/O priority lost when read FEC and hash Hongyu Jin
2023-12-12 11:11 ` [PATCH v4 5/5] dm-crypt: Fix lost ioprio when queuing write bios Hongyu Jin
2023-12-13 4:45 ` [PATCH v4 0/5] Fix I/O priority lost in device-mapper Eric Biggers
2023-12-13 9:24 ` Henry King
2023-12-13 10:42 ` Hongyu Jin
2023-12-13 10:42 ` [PATCH v5 1/5] block: Fix bio IO priority setting Hongyu Jin
2023-12-13 16:58 ` Mike Snitzer
2023-12-18 1:24 ` Henry King
2023-12-18 1:27 ` [PATCH v5 RESEND 0/5] Fix I/O priority lost in device-mapper Hongyu Jin
2023-12-18 1:27 ` [PATCH v5 RESEND 1/5] block: Fix bio IO priority setting Hongyu Jin
2023-12-18 1:27 ` [PATCH v5 RESEND 2/5] dm: Support I/O priority for dm_io() Hongyu Jin
2023-12-19 22:46 ` Eric Biggers
2023-12-18 1:27 ` [PATCH v5 RESEND 3/5] dm-bufio: Support I/O priority Hongyu Jin
2023-12-19 22:46 ` Eric Biggers
2023-12-18 1:27 ` [PATCH v5 RESEND 4/5] dm verity: Fix I/O priority lost when read FEC and hash Hongyu Jin
2023-12-19 22:48 ` Eric Biggers
2023-12-20 1:14 ` Hongyu Jin
2023-12-18 1:27 ` [PATCH v5 RESEND 5/5] dm-crypt: Fix lost ioprio when queuing write bios Hongyu Jin
2023-12-19 22:50 ` Eric Biggers
2023-12-19 0:46 ` [PATCH v5 RESEND 0/5] Fix I/O priority lost in device-mapper Eric Biggers
2023-12-13 10:42 ` [PATCH v5 2/5] dm: Support I/O priority for dm_io() Hongyu Jin
2023-12-13 10:42 ` [PATCH v5 3/5] dm-bufio: Support I/O priority Hongyu Jin
2023-12-13 10:42 ` [PATCH v5 4/5] dm verity: Fix I/O priority lost when read FEC and hash Hongyu Jin
2023-12-13 10:42 ` [PATCH v5 5/5] dm-crypt: Fix lost ioprio when queuing write bios Hongyu Jin
2023-12-20 10:03 ` [PATCH v6 0/5] Fix I/O priority lost in device-mapper Hongyu Jin
2023-12-20 10:03 ` [PATCH v6 1/5] block: Fix bio IO priority setting Hongyu Jin
2023-12-20 10:03 ` [PATCH v6 2/5] dm: Support I/O priority for dm_io() Hongyu Jin
2023-12-20 10:03 ` [PATCH v6 3/5] dm-bufio: Support I/O priority Hongyu Jin
2023-12-20 10:03 ` [PATCH v6 4/5] dm verity: Fix I/O priority lost when read FEC and hash Hongyu Jin
2023-12-20 18:32 ` Eric Biggers
2023-12-20 10:03 ` [PATCH v6 5/5] dm-crypt: Fix lost ioprio when queuing write bios Hongyu Jin
2023-12-21 10:31 ` [PATCH v7 0/5] Fix I/O priority lost in device-mapper Hongyu Jin
2023-12-21 10:31 ` [PATCH v7 1/5] block: Fix bio IO priority setting Hongyu Jin
2023-12-21 10:31 ` [PATCH v7 2/5] dm: Support I/O priority for dm_io() Hongyu Jin
2023-12-21 10:31 ` [PATCH v7 3/5] dm-bufio: Support I/O priority Hongyu Jin
2023-12-21 10:31 ` [PATCH v7 4/5] dm verity: Fix I/O priority lost when read FEC and hash Hongyu Jin
2023-12-21 10:31 ` Hongyu Jin [this message]
2024-01-24 5:35 ` [PATCH v8 0/5] Fix I/O priority lost in device-mapper Hongyu Jin
2024-01-24 5:35 ` [PATCH v8 1/5] block: Fix bio IO priority setting Hongyu Jin
2024-01-24 5:35 ` [PATCH v8 2/5] dm: Support I/O priority for dm_io() Hongyu Jin
2024-01-24 5:35 ` [PATCH v8 3/5] dm-bufio: Support I/O priority Hongyu Jin
2024-01-24 5:35 ` [PATCH v8 4/5] dm verity: Fix I/O priority lost when read FEC and hash Hongyu Jin
2024-01-24 5:35 ` [PATCH v8 5/5] dm-crypt: Fix lost ioprio when queuing write bios Hongyu Jin
2024-01-29 16:30 ` [PATCH v8 0/5] Fix I/O priority lost in device-mapper Mike Snitzer
2024-01-29 19:29 ` Mikulas Patocka
2023-12-23 15:41 ` [PATCH v7 " Eric Biggers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231221103139.15699-6-hongyu.jin.cn@gmail.com \
--to=hongyu.jin.cn@gmail.com \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@lists.linux.dev \
--cc=ebiggers@kernel.org \
--cc=hongyu.jin@unisoc.com \
--cc=ke.wang@unisoc.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=snitzer@kernel.org \
--cc=yibin.ding@unisoc.com \
--cc=zhiguo.niu@unisoc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).