diff options
author | 2016-03-08 11:51:26 -0500 | |
---|---|---|
committer | 2016-03-08 11:51:26 -0500 | |
commit | e4857982f49d21c05a84351b56724bf353022355 (patch) | |
tree | dc2e6039b714635e36ab148ed1ef20a9cbb01f4a /fs/jbd2/commit.c | |
parent | cgroup: make cgroup[_taskset]_migrate() take cgroup_root instead of cgroup (diff) | |
download | wireguard-linux-e4857982f49d21c05a84351b56724bf353022355.tar.xz wireguard-linux-e4857982f49d21c05a84351b56724bf353022355.zip |
cgroup: use css_set->mg_dst_cgrp for the migration target cgroup
Migration can be multi-target on the default hierarchy when a
controller is enabled - processes belonging to each child cgroup have
to be moved to the child cgroup itself to refresh css association.
This isn't a problem for cgroup_migrate_add_src() as each source
css_set still maps to single source and target cgroups; however,
cgroup_migrate_prepare_dst() is called once after all source css_sets
are added and thus might not have a single destination cgroup. This
is currently worked around by specifying NULL for @dst_cgrp and using
the source's default cgroup as destination as the only multi-target
migration in use is self-targetting. While this works, it's subtle
and clunky.
As all taget cgroups are already specified while preparing the source
css_sets, this clunkiness can easily be removed by recording the
target cgroup in each source css_set. This patch adds
css_set->mg_dst_cgrp which is recorded on cgroup_migrate_src() and
used by cgroup_migrate_prepare_dst(). This also makes migration code
ready for arbitrary multi-target migration.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'fs/jbd2/commit.c')
0 files changed, 0 insertions, 0 deletions