scx_kaddr_to_arena(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… scx_kaddr_to_arena(9) β€” like, the kernel API manual, bestie

okay so real talk, this one's from the Kernel API Manual (scx_kaddr_to_arena(9), section 9, kernel-level stuff, iykyk) and it's honestly such a small page but it's load-bearing okay πŸ’–


✨ NAME ✨

scx_kaddr_to_arena β€” translate a kernel arena address to the BPF form πŸ¦‹

like yes that's the whole job and she does it flawlessly


🌸 SYNOPSIS 🌸

uintptr_t scx_kaddr_to_arena (struct scx_sched *sch , const void *kaddr
);

copy it exactly, don't @ me, the spacing is what it is πŸ’€


πŸŽ€ ARGUMENTS πŸŽ€

  • sch β€” the scheduler whose arena is hosting kaddr β€” think of her as the hostess with the mostest, she's literally the one holding the arena πŸ‘‘
  • kaddr β€” a kernel address that lives inside sch's arena 🌈

both of these are mandatory bestie, no defaults, no shortcuts, just vibes and values πŸ’…


πŸ”₯ DESCRIPTION πŸ”₯

so here's the tea β˜•

__arena callback arguments need no translation β€” they're already serving looks in the right form, they woke up like this, no filter needed ✨

but addresses that get handed to BPF any other way? like, say, struct fields or kfunc return values? those go through this function. this is their little glow-up station. their main character transformation arc πŸ’–

and no, we don't skip it, because untranslated addresses are giving "wrong address on the group chat" energy and nobody wants that 😭

⭐ genuinely: __arena callback args = already fine, leave them alone. everything else that crosses into BPF = run it through scx_kaddr_to_arena. that's the whole rule, bestie.

πŸ‘€ SEE ALSO πŸ‘€

the whole friend group, all linked, all iconic, all in ./kernel/sched/ext/internal.h (the kernel file, yes, that one) 🫢

all of these are getting a follow-back, periodt πŸ’…


okay that's the page!! πŸŽ€ this little cutie lives in ./kernel/sched/ext and the version is October 2026 β€” that's the whole source/version/date situation, mwah, love that for us, byeee πŸ’–βœ¨πŸ§š

πŸ“¦ where this page comes from