scx_rescue_timerfn(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, welcome to scx_rescue_timerfn β€” that's the page name, and this whole thing lives in the Kernel API Manual, section 9. grab a strawberry πŸ“ and let's get into it.

✨ NAME ✨

scx_rescue_timerfn β€” drive and pace rescue execution. yes, it's giving scheduler main-character energy πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

void scx_rescue_timerfn (struct timer_list *timer );

πŸŽ€ ARGUMENTS πŸŽ€

  • timer β€” literally rq->scx.rescue.timer. that's the timer being passed in, no cap ✨

πŸ’… DESCRIPTION πŸ’…

okay so this timer function runs every quarter quantum while a rescuee exists β€” whether that rescuee is pending or admitted. see scx_rescue_timer_arm. 🫢

the head waiter gets admitted once the bucket holds a full quantum, and it's granted its slice β€” see scx_rescue_next_slice. iconic behavior, honestly.

if a session's budget accumulates over two quanta while the admitted rescuee is still waiting, that's an escalation: the rescuee's remaining slice turns into protected execution, and it preempts the current task. dramatic? yes. correct? also yes. 😭πŸ”₯

and if the rescue queue gets overloaded, it ejects the top consumer β€” see scx_rescue_check_overload. vibe check: failed, bestie πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

go peek at these, iykyk:


source/version check, bestie: ./kernel/sched/ext, October 2026, page scx_rescue_timerfn(9). that's the whole vibe πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from