blkcg: always associate a bio with a blkg
authorDennis Zhou (Facebook) <dennisszhou@gmail.com>
Tue, 11 Sep 2018 18:41:29 +0000 (14:41 -0400)
committerJens Axboe <axboe@kernel.dk>
Sat, 22 Sep 2018 02:29:06 +0000 (20:29 -0600)
commita7b39b4e961c4e2b3ed837803a7441a65c90ce33
tree7dda6dda4a341971504ccd16a44dbda27d57a0f8
parent07b05bcc3213ac9f8c28c9d835b4bf3d5798cc60
blkcg: always associate a bio with a blkg

Previously, blkg's were only assigned as needed by blk-iolatency and
blk-throttle. bio->css was also always being associated while blkg was
being looked up and then thrown away in blkcg_bio_issue_check.

This patch begins the cleanup of bio->css and bio->bi_blkg by always
associating a blkg in blkcg_bio_issue_check. This tries to create the
blkg, but if it is not possible, falls back to using the root_blkg of
the request_queue. Therefore, a bio will always be associated with a
blkg. The duplicate association logic is removed from blk-throttle and
blk-iolatency.

Signed-off-by: Dennis Zhou <dennisszhou@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
block/blk-iolatency.c
block/blk-throttle.c
include/linux/bio.h
include/linux/blk-cgroup.h