A little bit of a dump of my patch queue leading towards the SPSC queue removal (which is still WIP). Primarily because Philipp asked me to rebase and re-post "drm/sched: Replace completion with a flush".
Then I realised we agreed to split out one part of that in a separate patch. Specifically "drm/sched: Ignore stopped entity attempt to change its run-queue". And I also realized that one is easier to argue for if we also try to tighten the rules around entity initialization. Which is "drm/sched: Disallow initializing entities with un-initialized schedulers". Then there are some trivial cleanups in the same area which should be easy reviews. The first two patches of the series feel free to ignore. I have sent those separately already but need to include them so the series actually applies, both for CI, and should someone want to apply the series. Last patch in the series is something I would like to get accepted as well since I think the current list ownership rules are quite bad. As the patch touches the same functions as the SPSC removal it would be good to get it in first. Immediate questions are whether patches 3 & 4 are the simplifications which can indeed be made without any drivers crying foul. And of course what our AI overlord will have to say on it all. Cc: Christian König <[email protected]> Cc: Danilo Krummrich <[email protected]> Cc: Matthew Brost <[email protected]> Cc: Philipp Stanner <[email protected]> Tvrtko Ursulin (9): drm/sched: Fix out of bounds entity priority check drm/sched: Document entity->stopped is protect by entity->lock drm/sched: Disallow initializing entities with un-initialized schedulers drm/sched: Reject double scheduler initialization drm/sched: Remove log message of questionable use drm/sched: Remove useless log message on memory exhaustion drm/sched: Ignore stopped entity attempt to change its run-queue drm/sched: Replace completion with a flush drm/sched: Untangle the scheduler list mess drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 31 +++-- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | 13 +- drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 3 +- drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 3 +- drivers/gpu/drm/scheduler/sched_entity.c | 138 +++++++++++++-------- drivers/gpu/drm/scheduler/sched_internal.h | 14 ++- drivers/gpu/drm/scheduler/sched_main.c | 24 +--- drivers/gpu/drm/scheduler/sched_rq.c | 19 ++- include/drm/gpu_scheduler.h | 59 +++++---- 10 files changed, 179 insertions(+), 127 deletions(-) -- 2.55.0
