scx_kaddr_to_arena(9)
π 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 hostingkaddrβ think of her as the hostess with the mostest, she's literally the one holding the arena πkaddrβ a kernel address that lives insidesch'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:__arenacallback args = already fine, leave them alone. everything else that crosses into BPF = run it throughscx_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) π«Ά
scx_add_event(9)__scx_add_event(9)struct scx_enable_args(9)struct sched_ext_ops(9)struct sched_ext_ops_cid(9)scx_arena_to_kaddr(9)β yes this is the other direction, she's the reverse-translation sister, obsessed π¦DEFINE_SCX_COMPAT_MARKER(9)scx_root_protected_live(9)scx_root_protected(9)scx_bypass_dsp_enabled(9)scx_ops_sanitize_err(9)scx_has_subs(9)scx_task_sched(9)scx_task_sched_rcu(9)scx_task_on_sched(9)scx_prog_sched(9)scx_parent(9)
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
- 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