scx_rescue_end(9)
π scx_rescue_end(9) β like, the Kernel API Manual page you actually wanna read π
okay so bestie, welcome to scx_rescue_end(9) from the Kernel API Manual β yes that Kernel API Manual β and no cap, this one's short but it's packed. it's giving "small function, big consequences." let's get into it π¦
β¨ NAME β¨
scx_rescue_end β end the rescue execution on @rq π«
like, literally the function that says "okay the rescue sesh is OVER, everybody out" π«Ά
πΈ SYNOPSIS πΈ
void scx_rescue_end (struct rq *rq );
that's it. that's the whole vibe check. one arg, returns nothing, main character energy π₯
π ARGUMENTS π
rqβ rq of interest π like, the runqueue you're curious about. that's the one. that's your girl.
π DESCRIPTION π
okay so here's the tea β β when no rescuee is left pending, the session is over, and the balance above one quantum dies with it. literally dies. gone. π
and like, that's a good thing actually, because otherwise that balance would become a banked license to preempt the cid owner long after the starvation ended β and ngl bestie, that is not the vibe. we are NOT letting stale preemption privileges hang around post-starvation. that's giving messy. π
but!! β¨ while waiters remain β¨, the accrued deficit belongs to the queue and carries into the next rescue. so it's not lost, it's just, like, relocating. lowkey iconic behavior honestly π
fr fr the rule is simple: session over β the above-one-quantum balance goes with it; waiters still waiting β the deficit stays with the queue and rolls on into the next rescue. two different fates, both on purpose π
π¦ SEE ALSO π¦
the whole friend group, omg β go read these next, they're all in ./kernel/sched/ext/sub.c in the kernel file:
scx_skip_subtree_pre(9)scx_next_descendant_pre(9)scx_rescue_charge(9)scx_rescue_keep(9)scx_rescue_accrue(9)scx_rescue_admit(9)scx_rescue_try_admit(9)scx_rescue_check_overload(9)scx_rescue_timerfn(9)scx_resolve_local_dsq(9)queue_sync_ecaps(9)scx_process_sync_ecaps(9)scx_unbypass_replay_ecaps(9)scx_discard_stale_ecaps_syncs(9)scx_rehome_task(9)scx_punt_task(9)scx_cgroup_claim_subtree(9)scx_cgroup_return_subtree(9)scx_cgroup_task_migrating(9)scx_cgroup_task_migrated(9)scx_cgroup_task_migrate_canceled(9)scx_bpf_sub_dispatch(9)scx_bpf_sub_grant(9)scx_bpf_sub_revoke(9)scx_bpf_sub_caps(9)scx_bpf_sub_kill_bstr(9)
and that's the whole page, bestie π no more notes, no more lore.
kisses from ./kernel/sched/ext, dated October 2026 β mwah πβ¨
π¦ 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