cpumask_weight_andnot(9)
π cpumask_weight_andnot(9) β Kernel API Manual, bestie edition π
okay so we're in the Kernel API Manual, section 9, and today's main character is cpumask_weight_andnot. Yes the name is a mouthful. No we're not skipping it. π¦
β¨ NAME β¨
cpumask_weight_andnot β literally "Count of bits in (*srcp1 & ~*srcp2)" π
πΈ SYNOPSIS πΈ
unsigned int cpumask_weight_andnot (const struct cpumask *srcp1 , const
struct cpumask *srcp2 );
that's the whole vibe. two masks in, one unsigned int out. slay. β¨
π«Ά ARGUMENTS π«Ά
srcp1β the cpumask to count bits (< nr_cpu_ids) in. π§srcp2β the cpumask to count bits (< nr_cpu_ids) in. π§
yes they have the exact same description. no that's not a typo on my end, that's just how the page is giving it. both of them are cpumasks, both of them only have bits < nr_cpu_ids in play. iykyk. π
π RETURN π
count of bits set in both *srcp1 and *srcp2 β
(that's what the page says, word for word, and i'm just the messenger with a cute font π β read the NAME line again if you want the mask-flavored version, that's the one with the ~ in it π)
π₯ SEE ALSO π₯
Kernel file ./include/linux/cpumask.h β and like, an entire friend group:
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_subset(9),cpumask_empty(9)cpumask_full(9),cpumask_weight(9)cpumask_weight_and(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)
like i said. whole friend group. invite them all to the group chat. π«Άβ¨
lowkey reminder bestie: this page lives in./include/linux, it's dated October 2026, and the manpage signature iscpumask_weight_andnot(9). π
that's the whole page, no cap, every bit intact β go count some bits, you absolute icon ππ
π¦ 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