scx_punt_task(9)
β¨ NAME β¨
bestie, this is the Kernel API Manual page for scx_punt_task β it hands a task to a failed sched without initialization π
the manual name is scx_punt_task(9), and yes, we're getting into it π«Ά
πΈ SYNOPSIS πΈ
void scx_punt_task (struct scx_sched *to , struct task_struct *p );
π ARGUMENTS π
toβ the failed and bypassed sched taking custody ofpπpβ the task to punt π¦
π DESCRIPTION π
Okay so picture this: you take p off its current sched and put it on to at SCX_TASK_NONE β¨ to is dying, and its teardown will re-home p properly β periodt.
You use this when to must take over p but failed to initialize it. Bypass keeps scheduling decisions away from to, but p can still trigger its task ops, which may confuse the BPF side π to is dying anyway, so yeah.
The exit paths skip NONE tasks (see __scx_disable_and_exit_task and switched_from_scx) β lowkey important, bestie β
π SEE ALSO π
Kernel file: ./kernel/sched/ext/sub.c
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_discard_stale_ecaps_syncs(9)scx_rehome_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)
source/version: ./kernel/sched/ext Β· date: October 2026 Β· page: scx_punt_task(9) β byeee, 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