]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
blk-cgroup: delay freeing policy data after rcu grace period
authorYu Kuai <yukuai@fygo.io>
Mon, 8 Jun 2026 03:42:43 +0000 (11:42 +0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 24 Jun 2026 12:37:54 +0000 (06:37 -0600)
commit0af3fedb8c8ed3c07b4f76927bd7fc88f6f82efb
tree5c873888adb905f7685ddd3dd040bbba202732dc
parent25656304dabd26198ec69460c594a19d086ef099
blk-cgroup: delay freeing policy data after rcu grace period

Currently blkcg_print_blkgs() must hold RCU to iterate blkgs from a
blkcg, and prfill() must hold queue_lock to prevent policy data from
being freed by policy deactivation. As a consequence, queue_lock has to
be nested under RCU from blkcg_print_blkgs().

Delay freeing policy data until after an RCU grace period so prfill() can
be protected by RCU alone.

Signed-off-by: Yu Kuai <yukuai@fygo.io>
Link: https://patch.msgid.link/e20e5d984b41a026d61851966bed35eb094c4bff.1780621988.git.yukuai@fygo.io
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-cgroup.c
block/blk-cgroup.h
block/blk-iocost.c
block/blk-iolatency.c
block/blk-throttle.c