css_set_move_task(9)
π css_set_move_task(9) β like, the manual page, but make it make sense π
okay bestie, so this is a page from the Kernel API Manual (that's the (9) part β kernel internals, not your grandma's ls), and today's main character is css_set_move_task. it moves a task from one css_set to another. that's it. that's the whole vibe. but bestie, the details?? immaculate. let's go π¦
β¨ NAME β¨
css_set_move_task β move a task from one css_set to another π«
literally what it says on the tin. no cap.
πΈ SYNOPSIS πΈ
void css_set_move_task (struct task_struct *task , struct css_set
*from_cset , struct css_set *to_cset , bool use_mg_tasks );
four arguments, returns nothing (void β it's giving "i do the work, i don't need applause", lowkey iconic π
). copy that signature exactly if you're writing anything against it, fr fr.
π«Ά ARGUMENTS π«Ά
taskβ the task being moved. our little traveler π§³ she's the main character here.from_csetβ the css_set the task currently belongs to (and yes, this may beNULLπ).to_csetβ the new css_set the task is being moved to (this one may beNULLtoo, we'll get to why).use_mg_tasksβ the little switch that decides where she lands: move her toto_cset->mg_tasksinstead of->tasks. that's the whole difference, periodt β¨
π DESCRIPTION π
so the actual job: move task from from_cset to to_cset. π
a couple of edge cases that are very much by design, not bugs:
- if
taskdidn't belong to any css_set at all, thenfrom_csetcan beNULL. totally fine. she's starting fresh, no baggage πββοΈ - if
taskis being disassociated instead of moved, thento_csetcan beNULL. yes, it's a one-way trip to nowhere, and the function is fine with that πΈ
now the part everyone forgets, so listen up bestie π:
this function automatically handles the populated counter updates and thecss_task_iteradjustments. that's the free stuff. but the caller is responsible for managingfrom_csetandto_cset's reference counts. that part is on you. do not make her do your homework, she will not. π
so like β the function does the glow-up, you do the accounting. nobody said it was fair. π
π₯ SEE ALSO π₯
the whole kernel file lives at ./kernel/cgroup/cgroup.c, and honestly the friend group here is huge, so buckle up π:
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)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_migrate_add_task(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 i said. huge friend group. iykyk π
okay that's the whole page bestie, you ate that π and for the sign-off: this little beauty comes from the source spot ./kernel/cgroup and the version/date stamp on it is October 2026 β yes, from the future, she's ahead of her time, we stan a forward-thinking manpage π§β slay! π
π¦ 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