scx_bpf_get...cpumask_node(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… scx_bpf_get_idle_cpumask_node β€” Kernel API Manual ✨

okay so bestie, welcome to the Kernel API Manual page for scx_bpf_get_idle_cpumask_node(9) πŸŽ€ β€” the whole page is literally titled scx_bpf_get...cpumask_node(9) so you already know what's up before you even scroll.


🌸 NAME 🌸

scx_bpf_get_idle_cpumask_node β€” grab a referenced kptr to the idle-tracking per-CPU cpumask of a target NUMA node. that's it, that's the vibe πŸ¦‹


✨ SYNOPSIS ✨

__bpf_kfunc const struct cpumask * scx_bpf_get_idle_cpumask_node (s32
node , const struct bpf_prog_aux *aux );

literally copy that exactly, no cap πŸ”₯


🫢 ARGUMENTS 🫢

  • node β€” the target NUMA node. which node are we looking at? this one πŸ’…
  • aux β€” the implicit BPF argument that lets you access bpf_prog_aux, hidden from BPF progs. it's giving backstage pass, you don't touch it, it's just there πŸ™ˆ

πŸ‘‘ DESCRIPTION πŸ‘‘

So here's the tea: you get back an empty cpumask in any of these situations ⭐

  • idle tracking is not enabled
  • node is not valid
  • you're running on a UP kernel

and when that happens? the actual error gets reported to the BPF scheduler via scx_error 😭 so like, the empty mask is the messenger, scx_error is the actual receipts fr fr.


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./kernel/sched/ext/idle.c β€” go read it, it ate πŸ“

like the whole idle-scheduling friend group showed up to the function πŸ’œ


and that's the page, bestie 🌈 it comes to you from ./kernel/sched/ext, dated October 2026, and the whole thing lives under the Kernel API Manual name β€” mwah, periodt πŸ’…πŸŽ€

πŸ“¦ where this page comes from