cpumask_weighted_or(9)
π cpumask_weighted_or(9) β from the Kernel API Manual, bestie
Okay so picture this: you're deep in ./include/linux, vibing with your cpumasks, and you need to OR two of them together and know how many bits ended up set. That's this function. It's giving "two birds, one stone" energy. πͺβ¨
β¨ NAME β¨
cpumask_weighted_or β literally does *dstp = *src1p | *src2p and then hands you back the weight of the result. Yes bestie, it does the OR and counts the bits. Multitasking icon. π
π SYNOPSIS π
unsigned int cpumask_weighted_or (struct cpumask *dstp , const struct cpumask *src1p , const struct cpumask *src2p );
Three struct cpumask * pointers walk into a function. No cap, that's the whole signature. π«Ά
πΈ ARGUMENTS πΈ
dstpβ the cpumask result. This is where the magic lands, so it's giving main character energy. Where your OR'd answer gets written. πsrc1pβ the first input. Input number one, doing its part. πΌsrc2pβ the second input. Input number two, equally valid, equally needed. π·
β RETURN β
The number of bits set in the resulting cpumask dstp. So like, you get the count directly β no extra cpumask_weight(9) call needed. Efficient queen behavior. π₯
Ngl, the return value is the weight of dstp, i.e. the result β not the inputs. Read it twice if you must, bestie, I believe in you. π
π¦ SEE ALSO π¦
Everything else living in the kernel file ./include/linux/cpumask.h β the whole friend group, fr fr:
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_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_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)
Like I said. The whole squad. Go say hi. ππ
That's the whole page, bestie β no crumbs left behind. π
Sign-off time: this little masterpiece lives at ./include/linux and it's stamped October 2026, so go forth and OR your cpumasks with confidence. ππ¦β¨
π¦ 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