linux/kernel/cgroup
Tejun Heo bfc2cf6f61 cgroup: call subsys->*attach() only for subsystems which are actually affected by migration
Currently, subsys->*attach() callbacks are called for all subsystems
which are attached to the hierarchy on which the migration is taking
place.

With cgroup_migrate_prepare_dst() filtering out identity migrations,
v1 hierarchies can avoid spurious ->*attach() callback invocations
where the source and destination csses are identical; however, this
isn't enough on v2 as only a subset of the attached controllers can be
affected on controller enable/disable.

While spurious ->*attach() invocations aren't critically broken,
they're unnecessary overhead and can lead to temporary overcharges on
certain controllers.  Fix it by tracking which subsystems are affected
by a migration and invoking ->*attach() callbacks only on those
subsystems.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Zefan Li <lizefan@huawei.com>
2017-01-15 19:03:41 -05:00
..
cgroup-internal.h cgroup: call subsys->*attach() only for subsystems which are actually affected by migration 2017-01-15 19:03:41 -05:00
cgroup-v1.c cgroup: call subsys->*attach() only for subsystems which are actually affected by migration 2017-01-15 19:03:41 -05:00
cgroup.c cgroup: call subsys->*attach() only for subsystems which are actually affected by migration 2017-01-15 19:03:41 -05:00
cpuset.c cgroup: move cgroup files under kernel/cgroup/ 2016-12-27 14:49:05 -05:00
freezer.c cgroup: move cgroup files under kernel/cgroup/ 2016-12-27 14:49:05 -05:00
Makefile cgroup: move namespace code to kernel/cgroup/namespace.c 2016-12-27 14:49:09 -05:00
namespace.c cgroup: move namespace code to kernel/cgroup/namespace.c 2016-12-27 14:49:09 -05:00
pids.c cgroup: move cgroup files under kernel/cgroup/ 2016-12-27 14:49:05 -05:00