Lines Matching defs:mgctx

2587  * @mgctx: target migration context
2589 * Add @task, which is a migration target, to @mgctx->tset. This function
2595 struct cgroup_mgctx *mgctx)
2612 mgctx->tset.nr_tasks++;
2617 &mgctx->tset.src_csets);
2620 &mgctx->tset.dst_csets);
2687 * @mgctx: migration context
2689 * Migrate tasks in @mgctx as setup by migration preparation functions.
2691 * guarantees that either all or none of the tasks in @mgctx are migrated.
2692 * @mgctx is consumed regardless of success.
2694 static int cgroup_migrate_execute(struct cgroup_mgctx *mgctx)
2696 struct cgroup_taskset *tset = &mgctx->tset;
2704 do_each_subsys_mask(ss, ssid, mgctx->ss_mask) {
2751 do_each_subsys_mask(ss, ssid, mgctx->ss_mask) {
2764 do_each_subsys_mask(ss, ssid, mgctx->ss_mask) {
2827 * @mgctx: migration context
2832 void cgroup_migrate_finish(struct cgroup_mgctx *mgctx)
2840 list_for_each_entry_safe(cset, tmp_cset, &mgctx->preloaded_src_csets,
2849 list_for_each_entry_safe(cset, tmp_cset, &mgctx->preloaded_dst_csets,
2865 * @mgctx: migration context
2868 * @src_cset and add it to @mgctx->src_csets, which should later be cleaned
2879 struct cgroup_mgctx *mgctx)
2907 list_add_tail(&src_cset->mg_src_preload_node, &mgctx->preloaded_src_csets);
2912 * @mgctx: migration context
2915 * preloaded to @mgctx->preloaded_src_csets. This function looks up and
2917 * to @mgctx->preloaded_dst_csets.
2922 * @mgctx.
2924 int cgroup_migrate_prepare_dst(struct cgroup_mgctx *mgctx)
2931 list_for_each_entry_safe(src_cset, tmp_cset, &mgctx->preloaded_src_csets,
2961 &mgctx->preloaded_dst_csets);
2967 mgctx->ss_mask |= 1 << ssid;
2977 * @mgctx: migration context
2992 struct cgroup_mgctx *mgctx)
3004 cgroup_migrate_add_task(task, mgctx);
3010 return cgroup_migrate_execute(mgctx);
3024 DEFINE_CGROUP_MGCTX(mgctx);
3032 cgroup_migrate_add_src(task_css_set(task), dst_cgrp, &mgctx);
3039 ret = cgroup_migrate_prepare_dst(&mgctx);
3041 ret = cgroup_migrate(leader, threadgroup, &mgctx);
3043 cgroup_migrate_finish(&mgctx);
3182 DEFINE_CGROUP_MGCTX(mgctx);
3207 cgroup_migrate_add_src(link->cset, dsct, &mgctx);
3217 has_tasks = !list_empty(&mgctx.preloaded_src_csets);
3227 ret = cgroup_migrate_prepare_dst(&mgctx);
3232 list_for_each_entry(src_cset, &mgctx.preloaded_src_csets,
3238 cgroup_migrate_add_task(task, &mgctx);
3242 ret = cgroup_migrate_execute(&mgctx);
3244 cgroup_migrate_finish(&mgctx);