[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250725070547.3953398-1-yukuai1@huaweicloud.com>
Date: Fri, 25 Jul 2025 15:05:44 +0800
From: Yu Kuai <yukuai1@...weicloud.com>
To: jack@...e.cz,
dlemoal@...nel.org,
axboe@...nel.dk
Cc: linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org,
yukuai3@...wei.com,
yukuai1@...weicloud.com,
yi.zhang@...wei.com,
yangerkun@...wei.com,
johnny.chenyi@...wei.com
Subject: [PATCH 0/3] blk-ioc: convert ioc_lookup_icq() to lockless version
From: Yu Kuai <yukuai3@...wei.com>
Currently issue io can grab queue_lock three times from bfq_bio_merge(),
bfq_limit_depth() and bfq_prepare_request(), the queue_lock is not
necessary if icq is already created because both queue and ioc can't be
freed before io issuing is done.
This set first add a lockless helper ioc_lookup_icq_rcu() and then
covert to use the new helper.
Noted this is also a prep set to support request batch dispatching[1].
1. https://lore.kernel.org/all/20250722072431.610354-1-yukuai1@huaweicloud.com/
Yu Kuai (3):
blk-ioc: add a new helper ioc_lookup_icq_rcu()
block, bfq: convert to use ioc_lookup_icq_rcu()
blk-ioc: convert to use ioc_lookup_icq_rcu()
block/bfq-iosched.c | 23 ++++++-----------------
block/blk-ioc.c | 46 ++++++++++++++++++++++-----------------------
block/blk.h | 2 +-
3 files changed, 29 insertions(+), 42 deletions(-)
--
2.39.2
Powered by blists - more mailing lists