find_existing_css_set(9)
π NAME π
okay so bestie, welcome to the Kernel API Manual, section 9, cgroups territory β this page is all about find_existing_css_set, and what it does is literally right there in the name: init css array and find the matching css_set β¨
no cap, that's the whole job description. short, sweet, iconic π
πΈ SYNOPSIS πΈ
here's the signature, copy it exactly, don't freestyle it:
struct css_set * find_existing_css_set (struct css_set *old_cset ,
struct cgroup *cgrp , struct cgroup_subsys_state **template );
three args, one pointer back out the door. the way that return type is a struct css_set *β¦ yes ma'am π«Ά
π¦ ARGUMENTS π¦
old_csetβ the css_set that we're using before the cgroup transition. so like, the vibe you're leaving behind πcgrpβ the cgroup that we're moving into. the destination, the new home, the main character of this operation πtemplateβ an out param for the new set of csses. β οΈ and listen: it should be clear on entry. not "should probably", not "ideally" β clear on entry. so wipe it first, bestie, don't make it awkward π
π SEE ALSO π
so there's a lot here, and i mean a lot β this page hangs out with basically the entire cgroup friend group. deep breath, here we go π
it all lives in the kernel file ./kernel/cgroup/cgroup.c, and the crew is:
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),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. the whole group chat π and yes, every single one of them is a real (9) reference, i didn't skip a single bestie π
aaand that's the page, babe π it comes from ./kernel/cgroup, dated October 2026, and the footer tag is find_existing_css_set(9) β same energy as the header, full circle, periodt π
πΈ
π¦ 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