cgroup_add_legacy_cftypes(9)
π cgroup_add_legacy_cftypes(9) β straight out of the Kernel API Manual, bestie π
okay so picture this: you're deep in the kernel, you've got a cgroup subsystem, and you've got a whole lil array of cftypes that should only show up in the legacy hierarchies. that's the whole vibe of this function. it's giving "backwards compatibility, but make it intentional." πΈ
β¨ NAME β¨
cgroup_add_legacy_cftypes β add an array of cftypes for legacy hierarchies π
like, yes, that's it, that's the job. she adds, she's legacy, she's an array. iconic behavior fr fr.
π¦ SYNOPSIS π¦
int cgroup_add_legacy_cftypes (struct cgroup_subsys *ss , struct cftype
*cfts );
no cap, that's the exact signature. copy it, don't @ me π
π ARGUMENTS π
ssβ the target cgroup subsystem π― like, which subsystem are we decorating today, bestie?cftsβ a zero-length name terminated array of cftypes π read that again: the array ends when you hit a name with zero length. that's the terminator. that's the whole stop condition. don't forget it, i'm begging π
π DESCRIPTION π
so this is basically cgroup_add_cftypes's slightly more exclusive sibling β¨ β super similar, same general energy β but (and this is the main character detail) the files it adds are only used for the legacy hierarchies. not the new ones. legacy only. she said "i don't do modern." π
that's literally the whole distinction. same as cgroup_add_cftypes, except legacy-only. periodt π«Ά
π SEE ALSO π
okay so the source file for all this is ./kernel/cgroup/cgroup.c β here's the full friend group, and yes, i'm listing every single one because we don't do "etc." 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_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)
that's the whole squad, no one left behind π«Άβ¨
lowkey reminder bestie: cfts has to be zero-length name terminated or this whole thing goes sideways. the terminator is not optional, it's the vibe check π
and that's the page!! π this came out of ./kernel/cgroup in October 2026 β mwah, love her, she ate, no notes ππ
see u in the next manpage 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