[Intel-gfx] [PATCH v2 9/9] drm/i915/scheduler: Support user-defined priorities

Chris Wilson chris at chris-wilson.co.uk
Fri Oct 28 11:21:36 UTC 2016


On Thu, Oct 27, 2016 at 04:22:31PM +0100, Chris Wilson wrote:
> On Thu, Oct 27, 2016 at 03:05:16PM +0100, Chris Wilson wrote:
> > Use a priority stored in the context as the initial value when
> > submitting a request. This allows us to change the default priority on a
> > per-context basis, allowing different contexts to be favoured with GPU
> > time at the expense of lower importance work. The user can adjust the
> > context's priority via I915_CONTEXT_PARAM_PRIORITY, with more positive
> > values being higher priority (they will be serviced earlier, after their
> > dependencies have been resolved). Any prerequisite work for an execbuf
> > will have its priority raised to match the new request as required.
> 
> Not in mesa yet, but use case would in supporting EGL_IMG_context_priority
> https://www.khronos.org/registry/egl/extensions/IMG/EGL_IMG_context_priority.txt
> 
> 	EGL_CONTEXT_PRIORITY_LEVEL_IMG determines the priority level of
>         the context to be created. This attribute is a hint, as an
>         implementation may not support multiple contexts at some
>         priority levels and system policy may limit access to high
>         priority contexts to appropriate system privilege level. The
>         default value for EGL_CONTEXT_PRIORITY_LEVEL_IMG is
>         EGL_CONTEXT_PRIORITY_MEDIUM_IMG."
> 
> i.e.
> PRIORITY_HIGH -> 1023 [privileged, will failback to 0]
> PRIORITY_MED -> 0 [default]
> PRIORITY_LOW -> -1023
> 
> Does anyone has a real use for this? On the transcode side?

Also applies to VkQueue as each can have a distinct priority.
Queues need a bit more work in the anv implmentation to marry the spec
to a kernel context, mostly working out the details of QueueFamilies and
the like and seeing if we require new abi.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list