On Tue, 2026-01-13 at 14:17 +0100, Christian König wrote: > On 1/8/26 15:48, Alex Deucher wrote: > > We only want to stop the work queues, not mess with the > > pending list so just stop the work queues.
Ideally amdgpu could stop touching the pending_list altogether forever, as discussed at XDC. Is work for that in the pipe? Is that what this patch is for? > > Oh, yes please! I can't remember how long we have worked towards that. > > But we also need to change the return code so that the scheduler now > re-inserts the job into the pending list. You're referring to false-positive timeouts. Porting users to that typically consists of adding that return code and also removing whatever the driver used to do to inject the non-timedout job into the scheduler again. How is that being done here? P. > > Adding Philip on CC to double check what I say above. > > Regards, > Christian. > > > > > Signed-off-by: Alex Deucher <[email protected]> > > --- > > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > > index 80572f71ff627..868ab5314c0d1 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > > @@ -6301,7 +6301,7 @@ static void amdgpu_device_halt_activities(struct > > amdgpu_device *adev, > > if (!amdgpu_ring_sched_ready(ring)) > > continue; > > > > - drm_sched_stop(&ring->sched, job ? &job->base : NULL); > > + drm_sched_wqueue_stop(&ring->sched); > > > > if (need_emergency_restart) > > amdgpu_job_stop_all_jobs_on_sched(&ring->sched); > > @@ -6385,7 +6385,7 @@ static int amdgpu_device_sched_resume(struct > > list_head *device_list, > > if (!amdgpu_ring_sched_ready(ring)) > > continue; > > > > - drm_sched_start(&ring->sched, 0); > > + drm_sched_wqueue_start(&ring->sched); > > } > > > > if (!drm_drv_uses_atomic_modeset(adev_to_drm(tmp_adev)) && > > !job_signaled) >
