cpus_excl_conflict(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cpus_excl_conflict β€” from the Kernel API Manual, bestie 🫢

okay so this one is a kernel function, cpus_excl_conflict, and it's literally the vibe check for cpusets ✨ β€” it tells you whether two of them are beefing over exclusive CPUs.


✨ NAME ✨

cpus_excl_conflict β€” check if two cpusets have exclusive CPU conflicts πŸ”₯


πŸ¦‹ SYNOPSIS πŸ¦‹

bool cpus_excl_conflict (struct cpuset *trial , struct cpuset *sibling ,
bool xcpus_changed );

πŸŽ€ ARGUMENTS πŸŽ€

  • trial β€” the trial cpuset that's getting checked πŸ‘€ like, this is the one on the spot
  • sibling β€” a sibling cpuset to be checked against, i.e. the other party in this whole situation
  • xcpus_changed β€” set if exclusive_cpus has been set βœ…

⭐ RETURN ⭐

true if a CPU exclusivity conflict exists, false otherwise πŸ’€ no in-between, no "it's complicated"


🌸 DESCRIPTION 🌸

so here's the tea on conflict detection rules β˜•

  • cgroup v1: see cpuset1_cpus_excl_conflict πŸ‘‘
  • cgroup v2:
    • the exclusive_cpus values cannot overlap 🚫 β€” no cap, they just can't
    • new exclusive_cpus cannot be a superset of a sibling's cpus_allowed πŸ™ˆ

🌈 SEE ALSO 🌈

kernel file ./kernel/cgroup/cpuset.c β€” and honestly the whole friend group:

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), cpuset_update_tasks_cpumask(9), compute_effective_cpumask(9), compute_effective_nodemask(9), rm_siblings_excl_cpus(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, mwah πŸ’‹ this one lived in ./kernel/cgroup and it's dated October 2026 β€” go off, kernel docs, periodt πŸ‘‘πŸ’–

πŸ“¦ where this page comes from