drm_sched_resubmit_jobs(9)
πΈ drm_sched_resubmit_jobs(9) πΈ
okay so this is the drm_sched_resubmit_jobs(9) page from the Kernel API Manual, and bestieβ¦ itβs giving deprecated relic energy. The whole function is literally called out as Deprecated, don't use in new code! so maybe donβt make it your main character. π
π¨ NAME π¨
drm_sched_resubmit_jobs β Deprecated, don't use in new code!
β¨ SYNOPSIS β¨
void drm_sched_resubmit_jobs (struct drm_gpu_scheduler *sched );
π ARGUMENTS π
schedβ scheduler instance.
π DESCRIPTION π
Okay so the tea: re-submitting jobs was a concept AMD came up with as a cheap way to implement recovery after a job timeout. Cute idea, right? Except it turned out to be not working very well. π
First of all, there are many problems with the dma_fence implementation and requirements. Either the implementation is risking deadlocks with core memory management, or itβs violating documented implementation details of the dma_fence object. Both areβ¦ not the vibe. π«
Drivers can still save and restore their state for recovery operations, but we shouldnβt make this a general scheduler feature around the dma_fence interface. The suggested driver-side replacement is to use drm_sched_for_each_pending_job after stopping the scheduler and implement their own recovery operations. Thatβs the glow-up, iykyk. β¨
β οΈ Deprecated alert: donβt use this in new code! This page literally says Deprecated, don't use in new code! and the description is a whole cautionary tale about dma_fence pain. Not a βmaybe avoidβ situation, bestie. π
π₯ SEE ALSO π₯
- Kernel file
./drivers/gpu/drm/scheduler/sched_main.c Overview(9)Flow Control(9)sched_policy (int)(9)drm_sched_can_queue(9)drm_sched_run_job_queue(9)drm_sched_run_free_queue(9)drm_sched_job_done(9)drm_sched_job_done_cb(9)drm_sched_start_timeout(9)drm_sched_tdr_queue_imm(9)drm_sched_fault(9)drm_sched_suspend_timeout(9)drm_sched_resume_timeout(9)drm_sched_job_reinsert_on_false_timeout(9)drm_sched_stop(9)drm_sched_start(9)drm_sched_job_init(9)drm_sched_job_arm(9)drm_sched_job_add_dependency(9)drm_sched_job_add_syncobj_dependency(9)drm_sched_job_add_resv_dependencies(9)drm_sched_job_add_implicit_dependencies(9)drm_sched_job_has_dependency(9)drm_sched_job_cleanup(9)drm_sched_wakeup(9)drm_sched_select_entity(9)drm_sched_get_finished_job(9)drm_sched_pick_best(9)drm_sched_free_job_work(9)drm_sched_run_job_work(9)drm_sched_init(9)drm_sched_fini(9)drm_sched_increase_karma(9)drm_sched_wqueue_ready(9)drm_sched_wqueue_stop(9)drm_sched_wqueue_start(9)drm_sched_is_stopped(9)drm_sched_job_is_signaled(9)
mwah π thatβs the whole page, bestie. Source/version: ./drivers/gpu/drm/scheduler; date: October 2026. Byeee π«Ά
π¦ 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