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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx