scx_unbypass_replay_ecaps(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… scx_unbypass_replay_ecaps(9) πŸ’…

okay bestie, welcome to the Kernel API Manual page for scx_unbypass_replay_ecaps(9) β€” the replay moment for a bypass-suppressed ecaps notification. We're keeping every detail, just with way more sparkle. ✨


✨ NAME ✨

  • scx_unbypass_replay_ecaps β€” replay a bypass-suppressed ecaps notification.

🌸 SYNOPSIS 🌸

void scx_unbypass_replay_ecaps (struct rq *rq , struct scx_sched *sch );

πŸŽ€ ARGUMENTS πŸŽ€

  • rq β€” rq of the cpu leaving bypass.
  • sch β€” scheduler that just left bypass on rq's cpu.

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea, bestie: scx_process_sync_ecaps consumes syncs while bypassing without delivering ops.sub_ecaps_updated, and that leaves reported_ecaps stale. 😭

Nothing re-queues a sync when bypass lifts, so without a replay a cid that never changes again would never be notified. The attach-time initial grants are the acute case because they are consumed during the enable bypass window. 🫢

So this icon re-queues a sync for any undelivered delta so the next dispatch delivers it. Periodt. πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./kernel/sched/ext/sub.c plus the whole squad: scx_skip_subtree_pre(9), scx_next_descendant_pre(9), scx_rescue_charge(9), scx_rescue_end(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_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).


cute sign-off: this page lives in ./kernel/sched/ext, is dated October 2026, and is the scx_unbypass_replay_ecaps(9) page. bye bestie, go replay those ecaps and slay. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from