mbox series

[RFC,0/2] drm/amdgpu: No need for dynamic DRM priority?

Message ID 20240906180639.12218-1-tursulin@igalia.com (mailing list archive)
Headers show
Series drm/amdgpu: No need for dynamic DRM priority? | expand

Message

Tvrtko Ursulin Sept. 6, 2024, 6:06 p.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>

In a recent conversation with Christian there was a thought that dynamic DRM
scheduling priority changes are not required, or even not desired (actively
prevented?!), and can be ripped out.

For more context, starting point for that conversation was me observing that
they (dynamic changes) work relatively poorly - only if the entity is idle. As
such I proposed to fix it, but Christian countered with a proposal to rip it out
completely.

So for better or worse, that is what this RFC is about.

I can imagine something to regress, in theory at least, if there are clients
which use priority override in a way where today it could work, and on engines
with no hw priority support. In which case what would be somewhat spread over
different run queues would now permanently be where it started.

Advantage I guess is that removing it we can remove the misleading
drm_sched_entity_set_priority() from the core. Misleading because I suspect it
is quite difficult to figure out it has that "entity idle" behaviour (which
comes from the drm_sched_entity_select_rq() implementation details).

Another possibility is that people will hand wave away the concern priority
change might never happen as hypothetical. That in practice there would be an
idle point where it would trigger, and that for the rest we do not care.

Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>

Tvrtko Ursulin (2):
  drm/amdgpu: Remove dynamic DRM scheduling priority override
  drm/sched: Remove drm_sched_entity_set_priority

 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c  |  4 ----
 drivers/gpu/drm/scheduler/sched_entity.c | 22 ++--------------------
 include/drm/gpu_scheduler.h              |  2 --
 3 files changed, 2 insertions(+), 26 deletions(-)