[RFC PATCH 3/5] drm/sched: Warn if pending list is not empty

From: Philipp Stanner
Date: Mon Mar 24 2025 - 15:00:16 EST


drm_sched_fini() can leak jobs under certain circumstances.

Warn if that happens.

Signed-off-by: Philipp Stanner <phasta@xxxxxxxxxx>
---
drivers/gpu/drm/scheduler/sched_main.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
index 87acbcb1a821..4f8cc208a231 100644
--- a/drivers/gpu/drm/scheduler/sched_main.c
+++ b/drivers/gpu/drm/scheduler/sched_main.c
@@ -1455,6 +1455,10 @@ void drm_sched_fini(struct drm_gpu_scheduler *sched)
sched->ready = false;
kfree(sched->sched_rq);
sched->sched_rq = NULL;
+
+ if (!list_empty(&sched->pending_list))
+ dev_err(sched->dev, "%s: Tearing down scheduler while jobs are pending!\n",
+ __func__);
}
EXPORT_SYMBOL(drm_sched_fini);

--
2.48.1