Messages in this thread Patch in this message | | | Date | Thu, 02 Feb 2012 14:53:57 +0800 | From | Li Zefan <> | Subject | Re: [PATCH 01/16] blkcg: make CONFIG_BLK_CGROUP bool |
| |
Tejun Heo wrote: > Block cgroup core can be built as module; however, it isn't too useful > as blk-throttle can only be built-in and cfq-iosched is usually the > default built-in scheduler. Scheduled blkcg cleanup requires calling > into blkcg from block core. To simplify that, disallow building blkcg > as module by making CONFIG_BLK_CGROUP bool. > > If building blkcg core as module really matters, which I doubt, we can > revisit it after blkcg API cleanup. > > -v2: Vivek pointed out that IOSCHED_CFQ was incorrectly updated to > depend on BLK_CGROUP. Fixed. > > Signed-off-by: Tejun Heo <tj@kernel.org> > Cc: Vivek Goyal <vgoyal@redhat.com> > --- > block/Kconfig.iosched | 4 ---- > block/blk-cgroup.c | 17 ----------------- > block/blk-cgroup.h | 10 ++-------- > init/Kconfig | 2 +- > 4 files changed, 3 insertions(+), 30 deletions(-) >
You can merge the following change with your patch.
Moreover, some cgroup APIs were exported to allow blk-cgroup to be built as a module, and now they can be unexported.
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index fa8f263..bc8ea70 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -55,9 +55,7 @@ struct cgroup_subsys blkio_subsys = { .subsys_id = blkio_subsys_id, #endif .use_id = 1, - .module = THIS_MODULE, }; -EXPORT_SYMBOL_GPL(blkio_subsys); static inline void blkio_policy_insert_node(struct blkio_cgroup *blkcg, struct blkio_policy_node *pn) @@ -1594,8 +1592,6 @@ static void blkiocg_destroy(struct cgroup_subsys *subsys, struct cgroup *cgroup) free_css_id(&blkio_subsys, &blkcg->css); rcu_read_unlock(); - if (blkcg != &blkio_root_cgroup) - kfree(blkcg); } static struct cgroup_subsys_state *
| |