dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] drm/sched: Fix memory leaks with cancel_job() callback
@ 2025-07-07 13:42 Philipp Stanner
  2025-07-07 13:42 ` [PATCH v2 1/7] drm/sched: Avoid " Philipp Stanner
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Philipp Stanner @ 2025-07-07 13:42 UTC (permalink / raw)
  To: Lyude Paul, Danilo Krummrich, David Airlie, Simona Vetter,
	Matthew Brost, Philipp Stanner, Christian König,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Sumit Semwal,
	Tvrtko Ursulin, Pierre-Eric Pelloux-Prayer
  Cc: dri-devel, nouveau, linux-kernel, linux-media

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 (7):
  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/scheduler/sched_main.c        | 37 +++++++----
 .../gpu/drm/scheduler/tests/mock_scheduler.c  | 66 +++++++------------
 drivers/gpu/drm/scheduler/tests/tests_basic.c | 43 ++++++++++++
 include/drm/gpu_scheduler.h                   | 18 +++++
 9 files changed, 165 insertions(+), 93 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-07-07 15:25 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-07 13:42 [PATCH v2 0/7] drm/sched: Fix memory leaks with cancel_job() callback Philipp Stanner
2025-07-07 13:42 ` [PATCH v2 1/7] drm/sched: Avoid " Philipp Stanner
2025-07-07 13:42 ` [PATCH v2 2/7] drm/sched/tests: Implement " Philipp Stanner
2025-07-07 15:25   ` Tvrtko Ursulin
2025-07-07 13:42 ` [PATCH v2 3/7] drm/sched/tests: Add unit test for cancel_job() Philipp Stanner
2025-07-07 15:20   ` Tvrtko Ursulin
2025-07-07 13:42 ` [PATCH v2 4/7] drm/sched: Warn if pending list is not empty Philipp Stanner
2025-07-07 13:42 ` [PATCH v2 5/7] drm/nouveau: Make fence container helper usable driver-wide Philipp Stanner
2025-07-07 13:45   ` Danilo Krummrich
2025-07-07 13:42 ` [PATCH v2 6/7] drm/nouveau: Add new callback for scheduler teardown Philipp Stanner
2025-07-07 14:26   ` Danilo Krummrich
2025-07-07 13:42 ` [PATCH v2 7/7] drm/nouveau: Remove waitque for sched teardown Philipp Stanner
2025-07-07 13:47   ` Danilo Krummrich
2025-07-07 13:54     ` Philipp Stanner
2025-07-07 14:26       ` Danilo Krummrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).