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

From: Tejun Heo
Date: Wed Jan 04 2023 - 19:20:27 EST


Hello,

* Improve 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.

* Update 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.

This patchset 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

diffstat follows. Thanks.

block/blk-cgroup.c | 120 +++++++++++++++++++++++++++-----------------------
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 --
7 files changed, 152 insertions(+), 99 deletions(-)

--
tejun