scx_bpf_task_set_dsq_vtime(9)
๐ scx_bpf_task_set_dsq_vtime(9) โจ
okay bestie, welcome to the Kernel API Manual โ this is the page for scx_bpf_task_set_dsq_vtime, and it's genuinely not that deep, but the details matter so let's go ๐ซถ
๐ธ NAME ๐ธ
scx_bpf_task_set_dsq_vtime โ set a task's virtual time for DSQ ordering, no cap ๐ซ
โจ SYNOPSIS โจ
__bpf_kfunc bool scx_bpf_task_set_dsq_vtime (struct task_struct *p , u64
vtime , const struct bpf_prog_aux *aux );
๐ ARGUMENTS ๐
pโ the task of interest. yes, that task. the main character ๐vtimeโ the virtual time you wanna set it to. that's the number, bestie ๐งฎauxโ the implicit BPF argument that gives you access tobpf_prog_aux, and it's hidden from BPF progs ๐ so likeโฆ it's there, you just don't get to see it. vibes.
๐ฆ DESCRIPTION ๐ฆ
So what does it actually do? It sets p's virtual time to vtime. That's it. That's the whole thing ๐
It returns true on success, and false if the calling scheduler doesn't have authority over p โ like, it's not your task to mess with, stay in your lane literally ๐ญ
๐ SEE ALSO ๐
Kernel file ./kernel/sched/ext/ext.c, plus the whole friend group of related pages โ and when I say whole friend group, I mean it. grab a snack, this is a long list ๐:
scx_is_descendant(9)rq_is_open(9)scx_fill_cmask_scratch(9)scx_call_op_set_cpumask(9)nldsq_next_task(9)nldsq_cursor_next_task(9)nldsq_cursor_lost_task(9)scx_task_iter_start(9)scx_task_iter_unlock(9)scx_task_iter_relock(9)scx_task_iter_stop(9)scx_task_iter_next(9)scx_task_iter_next_locked(9)scx_dump_event(9)wait_ops_state(9)scx_cpu_valid(9)schedule_deferred(9)schedule_deferred_locked(9)dsq_insert_head(9)set_task_slice_keep_oob(9)scx_task_slice_ended(9)move_remote_task_to_local_dsq(9)unlink_dsq_and_switch_rq_lock(9)move_task_between_dsqs(9)dispatch_to_local_dsq(9)finish_dispatch(9)scx_prio_less(9)__scx_init_task(9)task_dead_and_done(9)scx_tg_sched(9)scx_tg_knob_sched(9)handle_lockup(9)scx_rcu_cpu_stall(9)scx_softlockup(9)scx_hardlockup(9)unbypass_renotify_idle(9)scx_bypass(9)scx_propagate_exit_irq_workfn(9)scx_flush_disable_work(9)print_scx_info(9)scx_bpf_dsq_insert___v2(9)__scx_bpf_dsq_insert_vtime(9)scx_bpf_dispatch_nr_slots(9)scx_bpf_dispatch_cancel(9)scx_bpf_dsq_move_to_local___v2(9)scx_bpf_dsq_move_set_slice(9)scx_bpf_dsq_move_set_vtime(9)scx_bpf_dsq_move(9)scx_bpf_dsq_move_vtime(9)scx_bpf_reenqueue_local(9)scx_bpf_create_dsq(9)scx_bpf_task_set_slice(9)scx_bpf_kick_cpu(9)scx_bpf_kick_cid(9)scx_bpf_dsq_nr_queued(9)scx_bpf_destroy_dsq(9)bpf_iter_scx_dsq_new(9)bpf_iter_scx_dsq_next(9)bpf_iter_scx_dsq_destroy(9)scx_bpf_dsq_peek(9)scx_bpf_dsq_reenq(9)scx_bpf_reenqueue_local___v2(9)scx_bpf_exit_bstr(9)scx_bpf_error_bstr(9)scx_bpf_dump_bstr(9)scx_bpf_cpuperf_cap(9)scx_bpf_cidperf_cap(9)scx_bpf_cpuperf_cur(9)scx_bpf_cidperf_cur(9)scx_bpf_cpuperf_set(9)scx_bpf_cidperf_set(9)scx_bpf_nr_node_ids(9)scx_bpf_nr_cpu_ids(9)scx_bpf_nr_cids(9)scx_bpf_nr_online_cids(9)scx_bpf_online_cmask(9)scx_bpf_this_cid(9)scx_bpf_get_possible_cpumask(9)scx_bpf_get_online_cpumask(9)scx_bpf_put_cpumask(9)scx_bpf_task_running(9)scx_bpf_task_cpu(9)scx_bpf_task_cid(9)scx_bpf_locked_rq(9)scx_bpf_cpu_curr(9)scx_bpf_cid_curr(9)scx_bpf_tid_to_task(9)scx_bpf_now(9)scx_bpf_events(9)scx_bpf_task_cgroup(9)
like I said. whole friend group. ate and left no crumbs ๐ฅ
and that's the page, bestie!! ๐ง this lil slice of the Kernel API Manual lives in ./kernel/sched/ext, dated October 2026, and the page itself is scx_bpf_task_set_dsq_vtime(9) โ periodt ๐ go set some virtual times, you got this ๐
๐ฆ 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