css_set_populated(9)
π css_set_populated(9) β no cap, this is the Kernel API Manual, section 9, bestie
okay so imagine you're deep in the kernel, right, and you need to know one extremely specific thing: does this css_set have literally any tasks in it or not? that's the whole vibe of this page. welcome π«Ά
β¨ NAME β¨
css_set_populated β lowkey just answers the question: does a css_set contain any tasks? π
πΈ SYNOPSIS πΈ
bool css_set_populated (struct css_set *cset );
it returns a bool, it takes one thing, it's giving main character energy and honestly? iconic. no notes. π
π ARGUMENTS π
csetβ the targetcss_set. that's the one you're checking, bestie. that's the subject of the vibe check. π¦
π DESCRIPTION π
so here's the tea β β css_set_populated should be the same as !!cset->nr_tasks at steady state. like, at a chill, nothing's-happening moment, that's exactly what it equals. periodt.
but (and this is the part you gotta hear) css_set_populated can be called while a task is being added to or removed from the linked list, before the nr_tasks is properly updated. π so the count is mid-glow-up, basically. not caught up yet. running late. still getting ready.
so lowkey we can't just look at ->nr_tasks here. that's the whole plot twist. don't do it. i'm serious. π
that's like, the entire reason this function exists as a function instead of you just reading the field yourself. respect the function. π§
π SEE ALSO π
the kernel file ./kernel/cgroup/cgroup.c, plus this absolutely stacked friend group (we love a big see-also, fr fr):
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_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_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)
yeah that's all of them. every single one. i counted. twice. π β¨
kay that's the whole page, bestie β this came out of the ./kernel/cgroup source tree, dated October 2026, and it slayed the entire time. go check your css_set and stay hydrated πππ¦
π¦ 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