[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6585e36e-13a8-8352-2528-b0c2cb995bf4@huaweicloud.com>
Date: Tue, 10 Dec 2024 09:23:14 +0800
From: Yu Kuai <yukuai1@...weicloud.com>
To: Bart Van Assche <bvanassche@....org>, Yu Kuai <yukuai1@...weicloud.com>,
axboe@...nel.dk, akpm@...ux-foundation.org, yang.yang@...o.com,
ming.lei@...hat.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, "yukuai (C)" <yukuai3@...wei.com>
Subject: Re: [PATCH RFC 1/3] block/mq-deadline: Revert "block/mq-deadline: Fix
the tag reservation code"
Hi,
在 2024/12/10 2:02, Bart Van Assche 写道:
>
>> 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.
No, BFQ is totally different, one task from bfq can be limited to just
one request, due to the cgroup policy of bfq.
>
>> 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.
So, I'm trying to understand, there are two cases:
1) the default value of async_depth is nr_requests, and no tag can be
reserved, right? Do we want to fix this?
2) User must change async_depth to a lower value to make it work.
Now, I understand why you want to change min_shallow_depth to 1.
However, I think we should also set min_shallow_depth while writing
sysfs as well.
>
> Bart.
> .
>
Powered by blists - more mailing lists