On Mon, 2025-12-08 at 11:35 +0100, Philipp Stanner wrote:
> On Fri, 2025-12-05 at 09:30 -0800, Matthew Brost wrote:
> > On Fri, Dec 05, 2025 at 11:18:21AM +0100, Christian König wrote:
> > > On 12/1/25 10:04, Philipp Stanner wrote:
> > > > 
> 
> 
> > 

[…]

> > Are you sure this is happening? It doesn’t seem possible, nor have I
> > observed it.
> 
> It's impossible, isn't it?
> 
> static void drm_sched_job_timedout(struct work_struct *work) { struct 
> drm_gpu_scheduler *sched; struct drm_sched_job *job; enum drm_gpu_sched_stat 
> status = DRM_GPU_SCHED_STAT_RESET; sched = container_of(work, struct 
> drm_gpu_scheduler, work_tdr.work); /* Protects against concurrent deletion in 
> drm_sched_get_finished_job */ spin_lock(&sched->job_list_lock); job = 
> list_first_entry_or_null(&sched->pending_list, struct drm_sched_job, list); 
> if (job) { /* * Remove the bad job so it cannot be freed by a concurrent * 
> &struct drm_sched_backend_ops.free_job. It will be * reinserted after the 
> scheduler's work items have been * cancelled, at which point it's safe. */ 
> list_del_init(&job->list); spin_unlock(&sched->job_list_lock); status = 
> job->sched->ops->timedout_job(job);
> 

sry guys, seems I really need to switch to Mutt. When I clicked "send"
the formatting definitely was OK, but in my outbox it's now also
broken. No idea why.

Please take a look at drm_sched_job_timedout() in your tree. That's the
code I'm referring to.

P.

Reply via email to