cpumask_first_zero(9)
π cpumask_first_zero(9) β¨
okay so this is a page from the Kernel API Manual (that's the manual name, bestie, it's in the header, don't @ me) and it's about finding the first free cpu in a cpumask. that's it. that's the whole vibe. π
πΈ NAME πΈ
cpumask_first_zero β get the first unset cpu in a cpumask
like, the first cpu that isn't checked off. the empty seat in the group chat, if you will. π
β¨ SYNOPSIS β¨
unsigned int cpumask_first_zero (const struct cpumask *srcp );
literally one job, one call, one unsigned int coming back at u. π
π¦ ARGUMENTS π¦
srcpβ the cpumask pointer. that's the mask u are snooping through, bestie. hand it over and it does the searching for u. no cap.
π RETURN π
- returns
>= nr_cpu_idsif all cpus are set.
so likeβ¦ if every single cpu is already taken, u get back a number that's >= nr_cpu_ids, which is the polite C way of being like "girl there is literally nothing left, go home". π no free seats. sold out. π
π«Ά SEE ALSO π«Ά
it's giving family reunion β every single relative showed up and u have to say hi to all of them. here's the whole guest list, from the kernel file ./include/linux/cpumask.h:
cpumask_pr_args(9)cpumask_first(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(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)
i know. it's a lot. drink some water. π
mwah π that's the whole page β sourced from ./include/linux, dated October 2026, and yes u read that right, the future. main character energy fr fr. go find ur first zero, bestie. π§ββοΈβ
π¦ 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