Commit c165b3e3 authored by Tejun Heo's avatar Tejun Heo Committed by Jens Axboe

blkcg: rename subsystem name from blkio to io

blkio interface has become messy over time and is currently the
largest.  In addition to the inconsistent naming scheme, it has
multiple stat files which report more or less the same thing, a number
of debug stat files which expose internal details which shouldn't have
been part of the public interface in the first place, recursive and
non-recursive stats and leaf and non-leaf knobs.

Both recursive vs. non-recursive and leaf vs. non-leaf distinctions
don't make any sense on the unified hierarchy as only leaf cgroups can
contain processes.  cgroups is going through a major interface
revision with the unified hierarchy involving significant fundamental
usage changes and given that a significant portion of the interface
doesn't make sense anymore, it's a good time to reorganize the
interface.

As the first step, this patch renames the external visible subsystem
name from "blkio" to "io".  This is more concise, matches the other
two major subsystem names, "cpu" and "memory", and better suited as
blkcg will be involved in anything writeback related too whether an
actual block device is involved or not.

As the subsystem legacy_name is set to "blkio", the only userland
visible change outside the unified hierarchy is that blkcg is reported
as "io" instead of "blkio" in the subsystem initialized message during
boot.  On the unified hierarchy, blkcg now appears as "io".
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: cgroups@vger.kernel.org
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 20386ce0
...@@ -2046,7 +2046,7 @@ int bio_associate_current(struct bio *bio) ...@@ -2046,7 +2046,7 @@ int bio_associate_current(struct bio *bio)
get_io_context_active(ioc); get_io_context_active(ioc);
bio->bi_ioc = ioc; bio->bi_ioc = ioc;
bio->bi_css = task_get_css(current, blkio_cgrp_id); bio->bi_css = task_get_css(current, io_cgrp_id);
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(bio_associate_current); EXPORT_SYMBOL_GPL(bio_associate_current);
......
...@@ -1089,12 +1089,13 @@ static int blkcg_can_attach(struct cgroup_subsys_state *css, ...@@ -1089,12 +1089,13 @@ static int blkcg_can_attach(struct cgroup_subsys_state *css,
return ret; return ret;
} }
struct cgroup_subsys blkio_cgrp_subsys = { struct cgroup_subsys io_cgrp_subsys = {
.css_alloc = blkcg_css_alloc, .css_alloc = blkcg_css_alloc,
.css_offline = blkcg_css_offline, .css_offline = blkcg_css_offline,
.css_free = blkcg_css_free, .css_free = blkcg_css_free,
.can_attach = blkcg_can_attach, .can_attach = blkcg_can_attach,
.legacy_cftypes = blkcg_files, .legacy_cftypes = blkcg_files,
.legacy_name = "blkio",
#ifdef CONFIG_MEMCG #ifdef CONFIG_MEMCG
/* /*
* This ensures that, if available, memcg is automatically enabled * This ensures that, if available, memcg is automatically enabled
...@@ -1104,7 +1105,7 @@ struct cgroup_subsys blkio_cgrp_subsys = { ...@@ -1104,7 +1105,7 @@ struct cgroup_subsys blkio_cgrp_subsys = {
.depends_on = 1 << memory_cgrp_id, .depends_on = 1 << memory_cgrp_id,
#endif #endif
}; };
EXPORT_SYMBOL_GPL(blkio_cgrp_subsys); EXPORT_SYMBOL_GPL(io_cgrp_subsys);
/** /**
* blkcg_activate_policy - activate a blkcg policy on a request_queue * blkcg_activate_policy - activate a blkcg policy on a request_queue
...@@ -1266,7 +1267,7 @@ int blkcg_policy_register(struct blkcg_policy *pol) ...@@ -1266,7 +1267,7 @@ int blkcg_policy_register(struct blkcg_policy *pol)
/* everything is in place, add intf files for the new policy */ /* everything is in place, add intf files for the new policy */
if (pol->cftypes) if (pol->cftypes)
WARN_ON(cgroup_add_legacy_cftypes(&blkio_cgrp_subsys, WARN_ON(cgroup_add_legacy_cftypes(&io_cgrp_subsys,
pol->cftypes)); pol->cftypes));
mutex_unlock(&blkcg_pol_register_mutex); mutex_unlock(&blkcg_pol_register_mutex);
return 0; return 0;
......
...@@ -286,7 +286,7 @@ static inline struct bdi_writeback *wb_find_current(struct backing_dev_info *bdi ...@@ -286,7 +286,7 @@ static inline struct bdi_writeback *wb_find_current(struct backing_dev_info *bdi
* %current's blkcg equals the effective blkcg of its memcg. No * %current's blkcg equals the effective blkcg of its memcg. No
* need to use the relatively expensive cgroup_get_e_css(). * need to use the relatively expensive cgroup_get_e_css().
*/ */
if (likely(wb && wb->blkcg_css == task_css(current, blkio_cgrp_id))) if (likely(wb && wb->blkcg_css == task_css(current, io_cgrp_id)))
return wb; return wb;
return NULL; return NULL;
} }
......
...@@ -221,7 +221,7 @@ static inline struct blkcg *css_to_blkcg(struct cgroup_subsys_state *css) ...@@ -221,7 +221,7 @@ static inline struct blkcg *css_to_blkcg(struct cgroup_subsys_state *css)
static inline struct blkcg *task_blkcg(struct task_struct *tsk) static inline struct blkcg *task_blkcg(struct task_struct *tsk)
{ {
return css_to_blkcg(task_css(tsk, blkio_cgrp_id)); return css_to_blkcg(task_css(tsk, io_cgrp_id));
} }
static inline struct blkcg *bio_blkcg(struct bio *bio) static inline struct blkcg *bio_blkcg(struct bio *bio)
...@@ -234,7 +234,7 @@ static inline struct blkcg *bio_blkcg(struct bio *bio) ...@@ -234,7 +234,7 @@ static inline struct blkcg *bio_blkcg(struct bio *bio)
static inline struct cgroup_subsys_state * static inline struct cgroup_subsys_state *
task_get_blkcg_css(struct task_struct *task) task_get_blkcg_css(struct task_struct *task)
{ {
return task_get_css(task, blkio_cgrp_id); return task_get_css(task, io_cgrp_id);
} }
/** /**
......
...@@ -16,7 +16,7 @@ SUBSYS(cpuacct) ...@@ -16,7 +16,7 @@ SUBSYS(cpuacct)
#endif #endif
#if IS_ENABLED(CONFIG_BLK_CGROUP) #if IS_ENABLED(CONFIG_BLK_CGROUP)
SUBSYS(blkio) SUBSYS(io)
#endif #endif
#if IS_ENABLED(CONFIG_MEMCG) #if IS_ENABLED(CONFIG_MEMCG)
......
...@@ -523,7 +523,7 @@ static int cgwb_create(struct backing_dev_info *bdi, ...@@ -523,7 +523,7 @@ static int cgwb_create(struct backing_dev_info *bdi,
int ret = 0; int ret = 0;
memcg = mem_cgroup_from_css(memcg_css); memcg = mem_cgroup_from_css(memcg_css);
blkcg_css = cgroup_get_e_css(memcg_css->cgroup, &blkio_cgrp_subsys); blkcg_css = cgroup_get_e_css(memcg_css->cgroup, &io_cgrp_subsys);
blkcg = css_to_blkcg(blkcg_css); blkcg = css_to_blkcg(blkcg_css);
memcg_cgwb_list = mem_cgroup_cgwb_list(memcg); memcg_cgwb_list = mem_cgroup_cgwb_list(memcg);
blkcg_cgwb_list = &blkcg->cgwb_list; blkcg_cgwb_list = &blkcg->cgwb_list;
...@@ -645,7 +645,7 @@ struct bdi_writeback *wb_get_create(struct backing_dev_info *bdi, ...@@ -645,7 +645,7 @@ struct bdi_writeback *wb_get_create(struct backing_dev_info *bdi,
/* see whether the blkcg association has changed */ /* see whether the blkcg association has changed */
blkcg_css = cgroup_get_e_css(memcg_css->cgroup, blkcg_css = cgroup_get_e_css(memcg_css->cgroup,
&blkio_cgrp_subsys); &io_cgrp_subsys);
if (unlikely(wb->blkcg_css != blkcg_css || if (unlikely(wb->blkcg_css != blkcg_css ||
!wb_tryget(wb))) !wb_tryget(wb)))
wb = NULL; wb = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment