cpumask_subset(9)
β¨ cpumask_subset(9) β¨
okay so bestie, we're in the Kernel API Manual today and this page is literally about one tiny function that answers one iconic question: is this group of CPUs fully inside that other group of CPUs? That's it, that's the vibe. π
π NAME π
cpumask_subset β literally (*src1p & ~*src2p) == 0 β no cap, that's the whole definition right there π«Ά
πΈ SYNOPSIS πΈ
bool cpumask_subset (const struct cpumask *src1p , const struct cpumask
*src2p );
So it takes two const struct cpumask * pointers and hands you back a bool. Very demure, very mindful. β¨
π¦ ARGUMENTS π¦
src1pβ the first input π (the one we're asking about β is this one a subset?)src2pβ the second input π (the one we're comparing against β does this one contain it?)
β RETURN β
true if *src1p is a subset of *src2p, else it returns false. periodt. π
So like... if every CPU in src1p is also chillin' in src2p, you get true. If src1p has even one little CPU that src2p doesn't have, it's a false and honestly? fair. π
π SEE ALSO π
the whole cpumask friend group, assembled. not me listing every single one π but fr fr, here they are:
cpumask_pr_args(9), cpumask_first(9), cpumask_first_zero(9), cpumask_first_and(9), cpumask_first_andnot(9), cpumask_first_and_and(9), cpumask_last(9), cpumask_next(9), cpumask_next_zero(9), cpumask_next_and(9), cpumask_next_andnot(9), cpumask_next_and_wrap(9), cpumask_next_wrap(9), cpumask_random(9), for_each_cpu(9), for_each_cpu_wrap(9), for_each_cpu_and(9), for_each_cpu_andnot(9), for_each_cpu_or(9), for_each_cpu_from(9), cpumask_any_but(9), cpumask_any_and_but(9), cpumask_any_andnot_but(9), cpumask_nth(9), cpumask_nth_and(9), cpumask_nth_and_andnot(9), cpumask_set_cpu(9), cpumask_clear_cpus(9), cpumask_clear_cpu(9), cpumask_test_cpu(9), cpumask_test_and_set_cpu(9), cpumask_test_and_clear_cpu(9), cpumask_setall(9), cpumask_clear(9), cpumask_and(9), cpumask_or(9), cpumask_weighted_or(9), cpumask_xor(9), cpumask_andnot(9), cpumask_equal(9), cpumask_or_equal(9), cpumask_intersects(9), cpumask_empty(9), cpumask_full(9), cpumask_weight(9), cpumask_weight_and(9), cpumask_weight_andnot(9), cpumask_shift_right(9), cpumask_shift_left(9), cpumask_copy(9), cpumask_any(9), cpumask_any_and(9), cpumask_of(9), cpumask_parse_user(9), cpumask_parselist_user(9), cpumask_parse(9), cpulist_parse(9), cpumask_size(9), alloc_cpumask_var(9), to_cpumask(9), num_online_cpus(9), cpumap_print_bitmask_to_buf(9), cpumap_print_list_to_buf(9)
also the kernel file is ./include/linux/cpumask.h β that's where the source lives, go say hi π§
okay that's the whole page!! tysm for reading, mwah π β this one came straight out of ./include/linux, October 2026, and yes the page itself is cpumask_subset(9) because we keep it consistent, 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