summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2015-05-22 17:13:19 -0400
committerJens Axboe <axboe@fb.com>2015-06-02 08:33:33 -0600
commitec13b1d6f0a0457312e615335ce8ceb07da50a11 (patch)
treea14e8de732d5925ee847180559eb42b83f79ac34 /include
parentefa7d1c733d1d2c1a468b85126d70bad9fdf6ba8 (diff)
downloadlinux-ec13b1d6f0a0457312e615335ce8ceb07da50a11.tar.bz2
blkcg: always create the blkcg_gq for the root blkcg
Currently, blkcg does a minor optimization where the root blkcg is created when the first blkcg policy is activated on a queue and destroyed on the deactivation of the last. On systems where blkcg is configured but not used, this saves one blkcg_gq struct per queue. On systems where blkcg is actually used, there's no difference. The only case where this can lead to any meaninful, albeit still minute, save in memory consumption is when all blkcg policies are deactivated after being widely used in the system, which is a hihgly unlikely scenario. The conditional existence of root blkcg_gq has already created several bugs in blkcg and became an issue once again for the new per-cgroup wb_congested mechanism for cgroup writeback support leading to a NULL dereference when no blkcg policy is active. This is really not worth bothering with. This patch makes blkcg always allocate and link the root blkcg_gq and release it only on queue destruction. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions