On 12/6/24 6:17 PM, Yu Kuai wrote:
We're comparing v6.6 and v5.10 performance in downstream kernel, we met a regression and bisect to this patch. And during review, I don't understand the above change. For example, dd->async_depth is nr_requests, then dd_to_word_depth() will just return 1 << bt->sb.shift. Then nothing will be throttled.
(just back from traveling) As explained in the description of commit 39823b47bbd4 ("block/mq- deadline: Fix the tag reservation code"), the default value of async_depth has been changed from 3 * q->nr_requests / 4 into q->nr_requests to fix a performance regression. The value of dd->async_depth can be changed through sysfs. Thanks, Bart.