All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/7] drm/sched: Fix memory leaks with cancel_job() callback
@ 2025-07-09 11:52 Philipp Stanner
  2025-07-09 11:52 ` [PATCH v3 1/7] drm/sched: Avoid " Philipp Stanner
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Philipp Stanner @ 2025-07-09 11:52 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 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 (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  | 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 +++++
 10 files changed, 166 insertions(+), 94 deletions(-)

-- 
2.49.0


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

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

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-09 11:52 [PATCH v3 0/7] drm/sched: Fix memory leaks with cancel_job() callback Philipp Stanner
2025-07-09 11:52 ` [PATCH v3 1/7] drm/sched: Avoid " Philipp Stanner
2025-07-09 11:52 ` [PATCH v3 2/7] drm/sched/tests: Implement " Philipp Stanner
2025-07-09 12:24   ` Tvrtko Ursulin
2025-07-09 11:52 ` [PATCH v3 3/7] drm/sched/tests: Add unit test for cancel_job() Philipp Stanner
2025-07-09 11:52 ` [PATCH v3 4/7] drm/sched: Warn if pending_list is not empty Philipp Stanner
2025-07-09 11:52 ` [PATCH v3 5/7] drm/nouveau: Make fence container helper usable driver-wide Philipp Stanner
2025-07-09 11:52 ` [PATCH v3 6/7] drm/nouveau: Add new callback for scheduler teardown Philipp Stanner
2025-07-09 11:52 ` [PATCH v3 7/7] drm/nouveau: Remove waitque for sched teardown Philipp Stanner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.