cpumask_next_and(9)
β¨ cpumask_next_and(9) β¨
okay bestie, so this is a page from the Kernel API Manual, and it's literally about finding the next cpu that's chillin' in both of your masks at the same time π no cap, it's giving intersection energy.
πΈ NAME πΈ
cpumask_next_and β get the next cpu in *src1p & *src2p
π SYNOPSIS π
unsigned int cpumask_next_and (int n , const struct cpumask *src1p ,
const struct cpumask *src2p );
π¦ ARGUMENTS π¦
nβ the cpu prior to the place to search (i.e. return will be >n) β think of it as "start looking right after this one, bestie" πsrc1pβ the first cpumask pointer πsrc2pβ the second cpumask pointer π
π₯ RETURN π₯
>= nr_cpu_ids if no further cpus set in both. basically if there's nothing left in the overlap, you get a value that's out of range and that's your cue that the vibe check failed π periodt.
π SEE ALSO π
okay this list is lowkey iconic, it's the whole cpumask friend group π«Ά β from the kernel file ./include/linux/cpumask.h:
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_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_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, they really said "include the entire squad" and honestly? we stan ππ
π and that's the whole page, bestie! it lives in ./include/linux and this version is dated October 2026 β go forth and find your next matching cpu, main character energy only π§π
π¦ 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