cpumask_next_and_wrap(9)
π cpumask_next_and_wrap(9)
okay so bestie, welcome to the Kernel API Manual β¨ β this one's a little function with main character energy: cpumask_next_and_wrap π
πΈ NAME πΈ
cpumask_next_and_wrap β grab the next cpu that's in src1p & src2p, starting from @n+1. And if there's nothing to find? it wraps around and starts from the beginning π literally the "no thoughts, head empty, loop back around" of cpu masks. periodt.
β¨ SYNOPSIS β¨
unsigned int cpumask_next_and_wrap (int n , const struct cpumask *src1p
, const struct cpumask *src2p );
π¦ ARGUMENTS π¦
nβ the cpu prior to the place we're searching, i.e. the search kicks off fromn+1π (so it's the "one before", not the one you actually get, iykyk)src1pβ the first cpumask pointer πsrc2pβ the second cpumask pointer π
π«Ά RETURN π«Ά
the next set bit, wrapped if needed, or >= nr_cpu_ids if src1p & src2p is empty π (big "we searched everywhere and found nobody" energy ngl).
π SEE ALSO π
Kernel file ./include/linux/cpumask.h β and honestly the whole cpumask friend group showed up to the group chat:
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_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)
and that's the whole page, bestie!! this one lives in ./include/linux and it's dated October 2026 β so yeah, it's from the future, we love that for it ππ¦ slay, go read the whole cpumask family, they ate fr fr πβ¨
π¦ 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