cpumask_next_and(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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