From: Yu Kuai <yukuai3@huawei.com>
Changes in v2:
- add patch 2 to delay freeing policy data, otherwise patch 3 is not
safe;
- add patch 13-19 to cleanup blkcg configuration apis;
patch 1-8 is prep patches to make sure queue_lock is not nested under
rcu and other spinlocks in blk-cgroup;
patch 9 convert blk-cgroup to use blkcg_mutex to protect blkgs;
patch 10,11 are follow cleanups;
patch 12 fix deadlock in blk-throttle;
patch 13-19 cleanup blkcg configuration helpers;
Yu Kuai (19):
blk-cgroup: protect iterating blkgs with blkcg->lock in
blkcg_print_stat()
blk-cgroup: delay freeing policy data after rcu grace period
blk-cgroup: don't nest queue_lock under rcu in blkcg_print_blkgs()
blk-cgroup: don't nest queue_lock under rcu in blkg_lookup_create()
blk-cgroup: don't nest queu_lock under rcu in bio_associate_blkg()
blk-cgroup: don't nest queue_lock under blkcg->lock in
blkcg_destroy_blkgs()
mm/page_io: don't nest queue_lock under rcu in
bio_associate_blkg_from_page()
block, bfq: don't grab queue_lock to initialize bfq
blk-cgroup: convert to protect blkgs with blkcg_mutex
blk-cgroup: remove radix_tree_preload()
blk-cgroup: remove preallocate blkg for blkg_create()
blk-throttle: fix possible deadlock due to queue_lock in timer
blk-cgroup: add new blkg configuration helpers
blk-cgroup: factor out a helper __blkg_activate_policy()
blk-throttle: convert to use blkg_conf_{start, end}
block, bfq: convert to use blkg_conf_{start, end}
blk-iolatency: convert to use blkg_conf_{start, end}
blk-iocost: convert to use blkg_conf_{start, end}
blk-cgroup: remove unsed blkg configuration helpers
block/bfq-cgroup.c | 27 +-
block/bfq-iosched.c | 13 +-
block/blk-cgroup-rwstat.c | 4 +-
block/blk-cgroup.c | 552 +++++++++++---------------------------
block/blk-cgroup.h | 51 +++-
block/blk-iocost.c | 61 +++--
block/blk-iolatency.c | 23 +-
block/blk-throttle.c | 73 +++--
mm/page_io.c | 7 +-
9 files changed, 302 insertions(+), 509 deletions(-)
--
2.51.0