scx_bpf_dsq_move_set_vtime(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so this page is scx_bpf_dsq_move_set_vtime(9), from the Kernel API Manual, and the whole assignment is: Override vtime when moving between DSQs. That's the vibe. That's the task. πŸŽ€

✨ SYNOPSIS ✨

__bpf_kfunc void scx_bpf_dsq_move_set_vtime (struct bpf_iter_scx_dsq
*it__iter , u64 vtime );

🫢 ARGUMENTS 🫢

  • it__iter β€” the DSQ iterator that's currently in progress. Like, it's mid-iteration, bestie.
  • vtime β€” the task's ordering inside the vtime-sorted queue of the target DSQ. It's the task's little position in that queue's whole ordering situation.

πŸ’– DESCRIPTION πŸ’–

This kfunc overrides the vtime of the next task that will be moved from it__iter using scx_bpf_dsq_move_vtime.

If this function is not called, then no override happens β€” the previous slice vtime is kept.

And listen, because this part matters: if scx_bpf_dsq_move is used to dispatch the next task, the override is ignored and cleared. So it does not carry over. It's gone. Periodt. πŸ’€

🌈 SEE ALSO 🌈

The Kernel file ./kernel/sched/ext/ext.c is where it all lives, and the full SEE ALSO crew β€” every single one, no skips β€” is: 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(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_task_set_dsq_vtime(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).


This page's sign-off energy: source/version is ./kernel/sched/ext, stamped October 2026, and the title is of course scx_bpf_dsq_move_set_vtime(9). byeee bestie πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from