drm/sched: Fix memory leaks with cancel_job() callback
Status from this message: Pushed to drm-misc-next, with an RB from Tvrtko I had forgot, and
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 Latest8 patches 3 repliesApplied
- v37 patches 1 replySuperseded
- v27 patches 7 repliesSuperseded
Earlier versions · 1
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v1 | 6 patches | 8 replies | Superseded |
Changes in v4 from the cover letter
- Change dev_err() to dev_warn() in pending_list emptyness check.
Patches in v4 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | drm/panfrost: Fix scheduler workqueue bugdrivers/ | +1 | 1 reply | |
| 2/8 | drm/sched: Avoid memory leaks with cancel_job() callbackdrivers/ include/ | +39 | 0 replies | |
| 3/8 | drm/sched/tests: Implement cancel_job() callbackdrivers/ drivers/ | +25 | 0 replies | |
| 4/8 | drm/sched/tests: Add unit test for cancel_job()drivers/ | +42 | 0 replies | |
| 5/8 | drm/sched: Warn if pending_list is not emptydrivers/ | +3 | 1 reply | |
| 6/8 | drm/nouveau: Make fence container helper usable driver-widedrivers/ drivers/ | +13 | 0 replies | |
| 7/8 | drm/nouveau: Add new callback for scheduler teardowndrivers/ drivers/ drivers/ | +30 | 0 replies | |
| 8/8 | drm/nouveau: Remove waitque for sched teardowndrivers/ drivers/ drivers/ | +14 | 0 replies |
Reviews trailers per patch
6 of 8 patches have a Reviewed-by or Acked-by.
| Patch | Maíra Canal | Tvrtko Ursulin | Danilo Krummrich |
|---|---|---|---|
| 1/8 | |||
| 2/8 | R-b | ||
| 3/8 | |||
| 4/8 | R-b | ||
| 5/8 | A-b | ||
| 6/8 | A-b | ||
| 7/8 | A-b | ||
| 8/8 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH v4 0/8] drm/sched: Fix memory leaks with cancel_job() callback
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(-)
Signature · 1 line
2.49.0