lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ