Lines Matching refs:tset

2259 #define CGROUP_TASKSET_INIT(tset)	(struct cgroup_taskset){	\  argument
2260 .src_csets = LIST_HEAD_INIT(tset.src_csets), \
2261 .dst_csets = LIST_HEAD_INIT(tset.dst_csets), \
2262 .csets = &tset.src_csets, \
2276 struct cgroup_taskset *tset) in cgroup_taskset_add() argument
2296 list_add_tail(&cset->mg_node, &tset->src_csets); in cgroup_taskset_add()
2299 &tset->dst_csets); in cgroup_taskset_add()
2309 struct task_struct *cgroup_taskset_first(struct cgroup_taskset *tset, in cgroup_taskset_first() argument
2312 tset->cur_cset = list_first_entry(tset->csets, struct css_set, mg_node); in cgroup_taskset_first()
2313 tset->cur_task = NULL; in cgroup_taskset_first()
2315 return cgroup_taskset_next(tset, dst_cssp); in cgroup_taskset_first()
2326 struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset, in cgroup_taskset_next() argument
2329 struct css_set *cset = tset->cur_cset; in cgroup_taskset_next()
2330 struct task_struct *task = tset->cur_task; in cgroup_taskset_next()
2332 while (&cset->mg_node != tset->csets) { in cgroup_taskset_next()
2340 tset->cur_cset = cset; in cgroup_taskset_next()
2341 tset->cur_task = task; in cgroup_taskset_next()
2350 *dst_cssp = cset->mg_dst_cset->subsys[tset->ssid]; in cgroup_taskset_next()
2352 *dst_cssp = cset->subsys[tset->ssid]; in cgroup_taskset_next()
2374 static int cgroup_taskset_migrate(struct cgroup_taskset *tset, in cgroup_taskset_migrate() argument
2383 if (list_empty(&tset->src_csets)) in cgroup_taskset_migrate()
2389 tset->ssid = i; in cgroup_taskset_migrate()
2390 ret = css->ss->can_attach(tset); in cgroup_taskset_migrate()
2404 list_for_each_entry(cset, &tset->src_csets, mg_node) { in cgroup_taskset_migrate()
2421 tset->csets = &tset->dst_csets; in cgroup_taskset_migrate()
2425 tset->ssid = i; in cgroup_taskset_migrate()
2426 css->ss->attach(tset); in cgroup_taskset_migrate()
2438 tset->ssid = i; in cgroup_taskset_migrate()
2439 css->ss->cancel_attach(tset); in cgroup_taskset_migrate()
2444 list_splice_init(&tset->dst_csets, &tset->src_csets); in cgroup_taskset_migrate()
2445 list_for_each_entry_safe(cset, tmp_cset, &tset->src_csets, mg_node) { in cgroup_taskset_migrate()
2615 struct cgroup_taskset tset = CGROUP_TASKSET_INIT(tset); in cgroup_migrate() local
2627 cgroup_taskset_add(task, &tset); in cgroup_migrate()
2634 return cgroup_taskset_migrate(&tset, cgrp); in cgroup_migrate()
2916 struct cgroup_taskset tset = CGROUP_TASKSET_INIT(tset); in cgroup_update_dfl_csses() local
2955 cgroup_taskset_add(task, &tset); in cgroup_update_dfl_csses()
2959 ret = cgroup_taskset_migrate(&tset, cgrp); in cgroup_update_dfl_csses()