rm_siblings_excl_cpus(9)
π rm_siblings_excl_cpus(9) β a kernel API manual moment
okay so bestie, welcome to section 9 of the kernel API manual, where we talk about rm_siblings_excl_cpus β¨ this one lives in the kernel internals and it's lowkey iconic if you're into cpusets π
πΈ NAME πΈ
rm_siblings_excl_cpus β the function that removes exclusive CPUs used by sibling cpusets π
like it literally goes "bestie those CPUs are taken, we're not sharing" and cleans them out of your mask π§Ήβ¨
π¦ SYNOPSIS π¦
int rm_siblings_excl_cpus (struct cpuset *parent , struct cpuset *cs ,
struct cpumask *excpus );
that's the whole signature, no cap π«Ά
π ARGUMENTS π
parentβ the parent cpuset, aka the one holding all the siblings π think of it as the group chat admincsβ the current cpuset, and heads up: it gets skipped π we're not touching this one, it's main character energyexcpusβ the exclusive effective CPU mask that we're gonna modify β¨ this is the thing getting edited, so watch it closely
π DESCRIPTION π
so here's the vibe: this function makes absolutely sure that the excpus mask you handed it does not include any CPUs that are exclusively allocated to sibling cpusets π«π₯
the way it does this is it walks through all the siblings of cs under parent πΆββοΈ and removes their exclusive CPUs from excpus one by one π
so by the time it's done, no sibling's exclusive CPUs are still sitting in your mask. periodt π
π SEE ALSO π
the whole friend group, fr fr β kernel file ./kernel/cgroup/cpuset.c and these legends π:
cpuset_lock(9)cpuset_full_lock(9)partition_is_populated(9)alloc_cpumasks(9)alloc_tmpmasks(9)free_tmpmasks(9)dup_or_alloc_cpuset(9)free_cpuset(9)cpus_excl_conflict(9)cpuset_update_tasks_cpumask(9)compute_effective_cpumask(9)compute_effective_nodemask(9)update_parent_effective_cpumask(9)compute_partition_effective_cpumask(9)update_sibling_cpumasks(9)validate_partition(9)partition_cpus_change(9)update_cpumask(9)update_exclusive_cpumask(9)cpuset_update_tasks_nodemask(9)update_prstate(9)cpuset_css_alloc(9)cpuset_init(9)cpuset_hotplug_update_tasks(9)cpuset_handle_hotplug(9)cpuset_init_smp(9)cpuset_cpus_allowed_locked(9)cpuset_cpus_allowed(9)cpuset_cpus_allowed_fallback(9)cpuset_mems_allowed(9)cpuset_nodemask_valid_mems_allowed(9)cpuset_nodes_allowed(9)cpuset_spread_node(9)cpuset_mem_spread_node(9)cpuset_mems_allowed_intersects(9)cpuset_print_current_mems_allowed(9)
okay that's the whole page bestie, go forth and cpuset responsibly π«Άπ
this gem came from ./kernel/cgroup and it's dated October 2026, brought to you by the kernel API manual β mwah, slay, bye πβ¨π
π¦ 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