cgroup_post_fork(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– cgroup_post_fork β€” the kernel API manual, but make it make sense πŸ’–

okay so bestie, welcome to cgroup_post_fork(9) β€” this is a <pink>Kernel API Manual</pink> situation and it's genuinely a little cutie. Think of it as the final glow-up step in the cgroup setup pipeline for a brand-new child process. ✨


✨ NAME ✨

cgroup_post_fork β€” the part where you finalize the cgroup setup for the child process. like, the finishing touch. the last swipe of lip gloss. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void cgroup_post_fork (struct task_struct *child , struct
       kernel_clone_args *kargs );

πŸŽ€ ARGUMENTS πŸŽ€

So it takes two things, that's it, no notes:

  • child β€” the child process in question πŸ‘Ά the whole main character of this function, honestly.
  • kargs β€” the arguments that got passed in to create the child process. like the receipts from the clone. 🧾

🌸 DESCRIPTION 🌸

okay so here's the vibe: cgroup_post_fork attaches the child process to its css_set, and while it's doing that it calls the subsystem fork callbacks. that's the whole thing. it's giving "last step of the fork dance" and honestly? iconic. πŸ”₯

no cap, it's short β€” but every word matters, so don't sleep on it. πŸ’œ


🌈 SEE ALSO 🌈

The kernel file <cyan>./kernel/cgroup/cgroup.c</cyan> has a whole friend group for this one, and you know we're listing every single one, because nobody gets left out in this house. 🫢

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_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_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. πŸ˜­πŸ‘‘


πŸ’€ reminder bestie: everything above is the exact function, args, and reference list β€” I just gave it a wardrobe change. no facts were harmed in the making of this page. πŸ“

and that's the page!! mwah πŸ’‹ β€” brought to you by the <purple>./kernel/cgroup</purple> era, dated <yellow>October 2026</yellow>, signed off with cgroup_post_fork(9) and a little sparkle β­πŸ§šπŸ’–

πŸ“¦ where this page comes from