[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