On Thu, 2025-07-10 at 14:54 +0200, Philipp Stanner wrote: > Changes in v4: > - Change dev_err() to dev_warn() in pending_list emptyness check. > > Changes in v3: > - Remove forgotten copy-past artifacts. (Tvrtko) > - Remove forgotten done_list struct member. (Tvrtko) > - Slightly adjust commit message of patch 7. > - Add RBs. (Maira, Danilo, Tvrtko) > > Changes in v2: > - Add new unit test to test cancel_job()'s behavior. (Tvrtko) > - Add RB from Maíra > > Changes since the RFC: > - Rename helper function for drm_sched_fini(). (Tvrtko) > - Add Link to Tvrtko's RFC patch to patch 1. > > > Since a long time, drm_sched_fini() can leak jobs that are still in > drm_sched.pending_list. > > This series solves the leaks in a backwards-compatible manner by > adding > a new, optional callback. If that callback is implemented, the > scheduler > uses it to cancel all jobs from pending_list and then frees them. > > Philipp Stanner (8): > drm/panfrost: Fix scheduler workqueue bug > drm/sched: Avoid memory leaks with cancel_job() callback > drm/sched/tests: Implement cancel_job() callback > drm/sched/tests: Add unit test for cancel_job() > drm/sched: Warn if pending_list is not empty > drm/nouveau: Make fence container helper usable driver-wide > drm/nouveau: Add new callback for scheduler teardown > drm/nouveau: Remove waitque for sched teardown > > drivers/gpu/drm/nouveau/nouveau_fence.c | 35 ++++++---- > drivers/gpu/drm/nouveau/nouveau_fence.h | 7 ++ > drivers/gpu/drm/nouveau/nouveau_sched.c | 35 ++++++---- > drivers/gpu/drm/nouveau/nouveau_sched.h | 9 +-- > drivers/gpu/drm/nouveau/nouveau_uvmm.c | 8 +-- > drivers/gpu/drm/panfrost/panfrost_job.c | 2 +- > drivers/gpu/drm/scheduler/sched_main.c | 37 ++++++---- > .../gpu/drm/scheduler/tests/mock_scheduler.c | 68 +++++++---------- > -- > drivers/gpu/drm/scheduler/tests/sched_tests.h | 1 - > drivers/gpu/drm/scheduler/tests/tests_basic.c | 42 ++++++++++++ > include/drm/gpu_scheduler.h | 18 +++++ > 11 files changed, 167 insertions(+), 95 deletions(-) >
Pushed to drm-misc-next, with an RB from Tvrtko I had forgot, and without the misplaced panfrost patch. Thanks guys. Good to see that we finally solved this issue. Had been around for quite some time. We celebrate that with a beer or sth at XDC :) P.
