Re: [PATCHSET v3 block/for-next] blkcg: Improve blkg config helpers and make iolatency init lazy

From: Yu Kuai
Date: Thu Feb 09 2023 - 21:16:02 EST


Hi,

在 2023/01/11 6:27, Tejun Heo 写道:
Hello,

* v2[2] fixes the build failure caused by v1[1] forgetting to update bfq.

* v3 drops __acuquires/__releases() changes and updates patch descriptions.

This patchset:

* Improves blkg config helpers so that they can be used consistently for all
the existing use cases. This also allows keeps using the same bdev open
instance across lazy init of rq_qos policies.

* Updates iolatency so that it initializes lazily when a latency target is
set for the first time. This avoids registering the rq_qos policy when
iolatency is not used which removes unnecessary calls into iolat from IO
hot paths.


There are some rq_qos and iocost bugfix based on this patchset, can
anyone help to review this patchset?

Thanks,
Kuai

and contains the following four patches:

0001-blkcg-Drop-unnecessary-RCU-read-un-locks-from-blkg_c.patch
0002-blkcg-Restructure-blkg_conf_prep-and-friends.patch
0003-blk-iolatency-s-blkcg_rq_qos-iolat_rq_qos.patch
0004-blk-iolatency-Make-initialization-lazy.patch

and is also available in the following git branch.

git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git iolat-lazy-init-v2

diffstat follows. Thanks.

block/bfq-cgroup.c | 8 ++-
block/blk-cgroup.c | 122 ++++++++++++++++++++++++++++----------------------
block/blk-cgroup.h | 10 ++--
block/blk-iocost.c | 58 +++++++++++++----------
block/blk-iolatency.c | 39 +++++++++++++--
block/blk-rq-qos.h | 2
block/blk-throttle.c | 16 ++++--
block/blk.h | 6 --
8 files changed, 159 insertions(+), 102 deletions(-)

[1] https://lkml.kernel.org/r/20230105002007.157497-1-tj@xxxxxxxxxx
[2] https://lkml.kernel.org/r/20230105212432.289569-1-tj@xxxxxxxxxx

--
tejun

.