cpumask_weight(9)
π
cpumask_weight(9) β the cpumask_weight page, bestie edition π
okay so this is a page from the Kernel API Manual, and it's genuinely one of the little icon functions you'll keep reaching for once you know it exists. no cap.
β¨ NAME β¨
cpumask_weight β literally just counts the bits in *srcp. that's it. that's the whole gig. π
πΈ SYNOPSIS πΈ
unsigned int cpumask_weight (const struct cpumask *srcp );
π¦ ARGUMENTS π¦
srcpβ the cpumask you want to count bits in. and yes, the bits are< nr_cpu_ids, so don't go expecting it to count random garbage past that. π«Ά
π RETURN π
the count of bits set in *srcp. that's the number you get back. slay. β¨
π§ SEE ALSO π§
this is the part where the friend group gets introduced, and honestly it's a big friend group. the kernel file this all lives in is ./include/linux/cpumask.h, and here's everyone:
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_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)
lowkey the whole cpumask cinematic universe lives in ./include/linux/cpumask.h, so that's your main character location if you wanna go read more. π
and that's the page!! brought to you by the Kernel API Manual, source path ./include/linux, dated October 2026, version cpumask_weight(9). go count some bits, bestie, you're gonna eat π
β¨
π¦ 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