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

Tvrtko Ursulin tursulin at igalia.com
Fri Sep 6 18:06:37 UTC 2024


From: Tvrtko Ursulin <tvrtko.ursulin at 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 at amd.com>
Cc: Alex Deucher <alexander.deucher at 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(-)

-- 
2.46.0



More information about the dri-devel mailing list