cgroup_rm_cftypes(9)
π cgroup_rm_cftypes β the kernel API manual, but make it make sense
okay so bestie, this one's from the Kernel API Manual section of the manual pages (section 9, kernel dev vibes only, no shell commands here), and it's literally about β¨*un-registering*β¨ stuff. we're taking files back. we're saying "not you anymore, babes." let's get into it π
πΈ NAME πΈ
cgroup_rm_cftypes β remove an array of cftypes from a subsystem
like, the whole array. one call, all of them gone. periodt π
π¦ SYNOPSIS π¦
int cgroup_rm_cftypes (struct cftype *cfts );
yup that's the whole signature. int in the front, pointer in the middle, done. π
π ARGUMENTS π
cftsβ a zero-length name terminated array of cftypes π«Ά
translate: it's an array of struct cftype, and the list ends when you hit one with a zero-length name. that's the terminator, that's the vibe check, that's how the kernel knows to stop reading. no cap.
π DESCRIPTION π
So this function unregisters cfts. The files that cfts describes get removed from all existing cgroups, and every future cgroup won't have them either β like, they're just not invited to the party anymore. not the current party, not any party ever again. iconic but also kind of brutal π
And the flexible part? This function can be called anytime, whether cfts' subsys is attached or not. attached, not attached, mid-vibe, doesn't matter. she's ready whenever. β¨
Now the return values, because we always read the return values:
- returns
0on successful unregistration π - returns
-ENOENTifcftsis not registered π
so if you're getting -ENOENT back, that's the kernel gently telling you "bestie... that was never registered in the first place." no drama, just facts. π
β SEE ALSO β
the kernel file this lives near is ./kernel/cgroup/cgroup.c, and then there is... a lot of friends. like an entire group chat. 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), 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_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)
iykyk β that's the whole css/cgroup cinematic universe right there. read them in order or don't, we don't gatekeep π
π sign-off π
this little page ships from ./kernel/cgroup and it's dated October 2026 β yeah, future-coded of her. that's the source, that's the version, that's the whole eras tour. go unregister something responsibly, bestie π«Άβ¨π
π¦ 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