From: Christoph Hellwig <hch@lst.de>
To: Sam Protsenko <semen.protsenko@linaro.org>
Cc: Christoph Hellwig <hch@lst.de>,
axboe@kernel.dk, linux-block@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] block: remove the ioprio field from struct request
Date: Mon, 25 Nov 2024 08:36:58 +0100 [thread overview]
Message-ID: <20241125073658.GA15834@lst.de> (raw)
In-Reply-To: <CAPLW+4==a515TCD93Kp-8zC8iYyYdh92U=j_emnG5sT_d7z64w@mail.gmail.com>
On Fri, Nov 22, 2024 at 03:55:23PM -0600, Sam Protsenko wrote:
> It's an Exynos based board with eMMC, so it uses DW MMC driver, with
> Exynos glue layer on top of it, so:
>
> drivers/mmc/host/dw_mmc.c
> drivers/mmc/host/dw_mmc-exynos.c
>
> I'm using the regular ARM64 defconfig. Nothing fancy about this setup
> neither, the device tree with eMMC definition (mmc_0) is here:
>
> arch/arm64/boot/dts/exynos/exynos850-e850-96.dts
Thanks. eMMC itself never looks at the ioprio field.
> FWIW, I was able to narrow down the issue to dd_insert_request()
> function. With this hack the freeze is gone:
Sounds like it isn't the driver that matters here, but the scheduler.
>
> 8<-------------------------------------------------------------------->8
> diff --git a/block/mq-deadline.c b/block/mq-deadline.c
> index acdc28756d9d..83d272b66e71 100644
> --- a/block/mq-deadline.c
> +++ b/block/mq-deadline.c
> @@ -676,7 +676,7 @@ static void dd_insert_request(struct blk_mq_hw_ctx
> *hctx, struct request *rq,
> struct request_queue *q = hctx->queue;
> struct deadline_data *dd = q->elevator->elevator_data;
> const enum dd_data_dir data_dir = rq_data_dir(rq);
> - u16 ioprio = req_get_ioprio(rq);
> + u16 ioprio = 0; /* the same as old req->ioprio */
> u8 ioprio_class = IOPRIO_PRIO_CLASS(ioprio);
> struct dd_per_prio *per_prio;
> enum dd_prio prio;
> 8<-------------------------------------------------------------------->8
>
> Does it tell you anything about where the possible issue can be?
Can you dump the ioprities you see here with and without the reverted
patch?
next prev parent reply other threads:[~2024-11-25 7:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20241112170050.1612998-3-hch@lst.de>
2024-11-22 5:04 ` [PATCH 2/2] block: remove the ioprio field from struct request Sam Protsenko
2024-11-22 12:04 ` Christoph Hellwig
2024-11-22 21:55 ` Sam Protsenko
2024-11-22 22:18 ` Bart Van Assche
2024-11-25 23:13 ` Sam Protsenko
2024-11-25 7:36 ` Christoph Hellwig [this message]
2024-11-26 1:37 ` Sam Protsenko
2024-11-26 6:52 ` Christoph Hellwig
2024-11-26 7:37 ` Sam Protsenko
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=20241125073658.GA15834@lst.de \
--to=hch@lst.de \
--cc=axboe@kernel.dk \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=semen.protsenko@linaro.org \
/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