[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bef7b96c-a6cc-4b83-99b2-848cecb3d3b1@acm.org>
Date: Mon, 9 Dec 2024 10:02:54 -0800
From: Bart Van Assche <bvanassche@....org>
To: Yu Kuai <yukuai1@...weicloud.com>, axboe@...nel.dk,
akpm@...ux-foundation.org, yang.yang@...o.com, ming.lei@...hat.com,
yukuai3@...wei.com, osandov@...com, paolo.valente@...aro.org
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
yi.zhang@...wei.com, yangerkun@...wei.com
Subject: Re: [PATCH RFC 1/3] block/mq-deadline: Revert "block/mq-deadline: Fix
the tag reservation code"
On 12/9/24 7:55 PM, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@...wei.com>
>
> This reverts commit 39823b47bbd40502632ffba90ebb34fff7c8b5e8.
>
> Because tag reservation is not fixed and will introduce performance
> problem.
As explained in detail in the patch description and in the comments
added by that patch, commit 39823b47bbd4 ("block/mq-deadline: Fix the
tag reservation code") fixes broken code. So reverting that commit is
wrong. I think that patches 1/3 and 3/3 of this series should be
combined into a single patch.
> 1) Set min_shallow_depth to 1 will end up setting wake_batch to 1,
> deadline has no reason to do this. And this will cause performance
> degradation in some high concurrency test, for both IO bandwidth
> and cpu usage.
As explained in the commit message, this is done because
min_shallow_depth must be less than or equal to shallow_depth.
Additionally, mq-deadline is not the only I/O scheduler that sets
min_shallow_depth to 1. BFQ does this too.
> 2) async_depth is nr_requests, hence shallow_depth will always set to
> 1 << bt->sb.shift. For consequence, no tag can be reserved.
This is not correct. dd->async_depth can be modified via sysfs.
Bart.
Powered by blists - more mailing lists