cgroup_migrate_add_task(9)
π cgroup_migrate_add_task(9) β¨
okay bestie, welcome to the Kernel API Manual β yes this is a (9) page, we're in kernel-internals territory, and we're gonna get through it together π«Ά
πΈ NAME πΈ
cgroup_migrate_add_task β add a migration target task to a migration context π
β¨ SYNOPSIS β¨
void cgroup_migrate_add_task (struct task_struct *task , struct
cgroup_mgctx *mgctx );
like, it returns void. nothing back. it just does the thing and leaves, main character energy fr fr π
π ARGUMENTS π
taskβ the target task, aka the little guy we're trying to move π¦mgctxβ the target migration context, aka the group chat this whole operation is happening in π¬
π DESCRIPTION π
So here's the vibe: you take task β which is a migration target, important detail, don't forget it β and you add it to mgctx->tset. That's it, that's the job π
ngl the cute part is this function becomes a noop if task doesn't need to be migrated. Like, it just... doesn't do anything. honestly relatable π
But before any of this works, two things gotta be true:
task'scss_setshould have been added as a migration source β like, that's a prerequisite, no captask->cg_listwill be moved from thecss_set's tasks list over to themg_tasksone β the way that list just relocates itself, we love a glow-up β¨
okay so technically this is avoidfunction and there's no return value to check β the "should have been" about thecss_setis literally in the original, so treat it as a precondition bestie, not a suggestion π«Ά
π₯ SEE ALSO π₯
the kernel file lives at ./kernel/cgroup/cgroup.c and honestly the whole friend group shows up here β say hi to everybody:
cgroup_ssid_enabled(9),cgroup_on_dfl(9),cgroup_e_css_by_mask(9),cgroup_e_css(9),cgroup_get_e_css(9),__cgroup_task_count(9),cgroup_task_count(9),for_each_css(9),do_each_subsys_mask(9),css_set_populated(9),css_update_populated(9),css_set_update_populated(9),css_set_move_task(9),compare_css_sets(9),find_existing_css_set(9),allocate_cgrp_cset_links(9),link_css_set(9),find_css_set(9),cgroup_file_mode(9),cgroup_calc_subtree_ss_mask(9),cgroup_kn_unlock(9),cgroup_kn_lock_live(9),css_clear_dir(9),css_populate_dir(9),cgroup_attach_lock(9),cgroup_attach_unlock(9),cgroup_taskset_first(9),cgroup_taskset_next(9),cgroup_migrate_execute(9),cgroup_migrate_vet_dst(9),cgroup_migrate_finish(9),cgroup_migrate_add_src(9),cgroup_migrate_prepare_dst(9),cgroup_migrate(9),cgroup_attach_task(9),cgroup_update_dfl_csses(9),cgroup_lock_and_drain_offline(9),cgroup_save_control(9),cgroup_propagate_control(9),cgroup_restore_control(9),cgroup_apply_control_enable(9),cgroup_apply_control_disable(9),cgroup_apply_control(9),cgroup_finalize_control(9),cgroup_enable_threaded(9),cgroup_tryget_css(9),cgroup_addrm_files(9),cgroup_rm_cftypes(9),cgroup_add_cftypes(9),cgroup_add_dfl_cftypes(9),cgroup_add_legacy_cftypes(9),cgroup_file_notify(9),cgroup_file_show(9),css_next_child(9),css_next_descendant_pre(9),css_rightmost_descendant(9),css_next_descendant_post(9),css_has_online_children(9),css_task_iter_advance_css_set(9),css_task_iter_start(9),css_task_iter_next(9),css_task_iter_end(9),css_create(9),kill_css_sync(9),kill_css_finish(9),cgroup_destroy_locked(9),cgroup_init_early(9),cgroup_init(9),cgroup_fork(9),cgroup_v1v2_get_from_file(9),cgroup_get_from_file(9),cgroup_css_set_fork(9),cgroup_css_set_put_fork(9),cgroup_can_fork(9),cgroup_cancel_fork(9),cgroup_post_fork(9),cgroup_task_exit(9),css_tryget_online_from_dir(9),css_from_id(9),cgroup_get_from_path(9),cgroup_v1v2_get_from_fd(9),cgroup_get_from_fd(9),cgroup_parse_float(9)
like... that's the whole roster. everyone ate ππ₯
and that's the page bestie!! before you go β this one's sourced from ./kernel/cgroup, dated October 2026, and it's the cgroup_migrate_add_task(9) page itself. mwah, go migrate some tasks responsibly πππ§
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms