blk-throttle: delay initialization until configuration
authorYu Kuai <yukuai3@huawei.com>
Thu, 9 May 2024 12:11:07 +0000 (20:11 +0800)
committerJens Axboe <axboe@kernel.dk>
Thu, 9 May 2024 15:44:56 +0000 (09:44 -0600)
commita3166c51702bb00b8f8b84022090cbab8f37be1a
treedc0f7d08dc8dc0438a578f96809658ff97016c5f
parentbf20ab538c81bb32edab86f503fc0c55d8243bbc
blk-throttle: delay initialization until configuration

Other cgroup policy like bfq, iocost are lazy-initialized when they are
configured for the first time for the device, but blk-throttle is
initialized unconditionally from blkcg_init_disk().

Delay initialization of blk-throttle as well, to save some cpu and
memory overhead if it's not configured.

Noted that once it's initialized, it can't be destroyed until disk
removal, even if it's disabled.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/20240509121107.3195568-3-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-cgroup.c
block/blk-sysfs.c
block/blk-throttle.c
block/blk-throttle.h