scx_discard..._ecaps_syncs(9)
π scx_discard_stale_ecaps_syncs(9) π
okay bestie, welcome to the Kernel API Manual β¨ this one's a tiny little function with a big job and honestly? she's giving cleanup crew main character energy π§Ήπ
πΈ NAME πΈ
scx_discard_stale_ecaps_syncs β literally just throws away ecaps syncs that got left behind by schedulers from before ποΈβ¨ no cap.
π¦ SYNOPSIS π¦
void scx_discard_stale_ecaps_syncs (void );
that's it. that's the whole vibe. π
π ARGUMENTS π
voidβ no arguments, babe. nothing. zero. she takes nothing and she gives you a clean slate π«Ά
π₯ DESCRIPTION π₯
so here's the tea β β you call this bad girl during root enable, before the scheduler goes live. like, right before the party starts π
the situation is this: an earlier root's sub-sched might not have made it through its RCU free path yet (for example, a still-open link fd defers it π), and that can leave queued ecaps syncs justβ¦ sitting there. abandoned. orphaned. lowkey haunting the place π»
and yes, technically you could process them β but that would mean decoding the dead sched's pshards using the current cid layout, which is a whole mess and not the vibe at all π so no. we don't do that. we discard them instead. bye bestie π
the good news? the backing scx_sched_pcpu's are still allocated, because the free path removes ecaps_to_sync_node before freeing. so nothing's dangling, we're safe, we're slaying, periodt π
β¨
ngl this is one of those "do it in the right place at the right time or everything gets weird" functions β the ordering genuinely matters, don't improvise π
π SEE ALSO π
okay so if you wanna go down the rabbit hole, the kernel file lives at ./kernel/sched/ext/sub.c and here's the whole friend group ππ
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_unbypass_replay_ecaps(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!! π«Άβ¨ this lil icon comes from ./kernel/sched/ext, dated October 2026, and yeah β the manpage name is still scx_discard..._ecaps_syncs(9) if you need to cite her in a paper or whatever ππ mwah, go read some kernel source, ily ππ
π¦ 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