[Intel-gfx] [PATCH 22/57] drm/i915: Move scheduler queue
Chris Wilson
chris at chris-wilson.co.uk
Thu Feb 4 11:40:14 UTC 2021
Quoting Tvrtko Ursulin (2021-02-04 11:19:00)
>
> On 01/02/2021 08:56, Chris Wilson wrote:
> > @@ -252,10 +242,6 @@ struct intel_engine_execlists {
> > */
> > int queue_priority_hint;
> >
> > - /**
> > - * @queue: queue of requests, in priority lists
> > - */
> > - struct rb_root_cached queue;
> > struct rb_root_cached virtual;
>
> Presumably virtual queue will go later in the series since I have seen
> some patches which improve that algorithm.
There's no commonality yet, so I left it in execlists. All of the
virtual engines do themselves migrate to using the scheduler completely,
but the association between the physical/virtual is still buried inside
execlists.
On the face of it, virtual_requeue() does only talk between the
base scheduler structs, so it looks like it could be easily extracted.
But the guc is going to use a single scheduling channel onto an
out-of-order guc queue, which doesn't allow us to use late greedy virtual
scheduling ourselves (we have no choice on which queue to use).
So not even a second user, let alone a third, to check if the semantics
are general enough.
-Chris
More information about the Intel-gfx
mailing list