cpulist_parse(9)
π cpulist_parse(9) β or, how to read a list of CPU ranges like the main character you are
okay so real talk, bestie: this page lives in the Kernel API Manual and it's short, sweet, and honestly kinda iconic. It's the function that takes a string a human typed (full of ranges and commas) and turns it into an actual cpumask. No cap.
β¨ NAME β¨
cpulist_parse β extract a cpumask from a user string of ranges π
πΈ SYNOPSIS πΈ
int cpulist_parse (const char *buf , struct cpumask *dstp );
π¦ ARGUMENTS π¦
bufβ the buffer to extract from. this is the string, the raw material, the vibe source, the thing you're reading from π«Άdstpβ the cpumask to set. this is where the parsed result lands. it's the destination, the glow-up zone, the*dstpof destiny β¨
π₯ RETURN π₯
-errno, or 0 for success.
so like β zero means you ate and left no crumbs. anything negative means -errno happened and you should probably go read the error and have a little cry about it (affectionately) π
π SEE ALSO π
Kernel file ./include/linux/cpumask.h β and literally the entire cpumask cinematic universe, fr fr. buckle up, we're listing all of them because every single one is a baddie in their own right:
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_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)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)
yeah. that's the whole friend group. go say hi ππ
lowkey a reminder: this page is short because the function is short. don't go inventing extra behavior for it β it parses a user string of ranges intodstpand returns-errnoor0. that's the whole plot. periodt. π
mwah, that's the page!! π written under ./include/linux, dated October 2026 β catch you in the next manpage bestie, ily, go touch some cpumasks π§ββοΈπ
π¦ 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