On Thu, Nov 03, 2016 at 07:47:39PM +, Chris Wilson wrote:
> On Thu, Nov 03, 2016 at 04:21:25PM +, Tvrtko Ursulin wrote:
> > >+static void update_priorities(struct i915_priotree *pt, int prio)
> > >+{
> > >+ struct drm_i915_gem_request *request =
> > >+ container_of(pt, struct drm_
On Thu, Nov 03, 2016 at 04:21:25PM +, Tvrtko Ursulin wrote:
> >+static void update_priorities(struct i915_priotree *pt, int prio)
> >+{
> >+struct drm_i915_gem_request *request =
> >+container_of(pt, struct drm_i915_gem_request, priotree);
> >+struct intel_engine_cs *engine
On Thu, Nov 03, 2016 at 04:21:25PM +, Tvrtko Ursulin wrote:
> >+rb = rb_next(rb);
> >+rb_erase(&cursor->priotree.node, &engine->execlist_queue);
> >+RB_CLEAR_NODE(&cursor->priotree.node);
> >+cursor->priotree.priority = INT_MAX;
> >+
> >+
Hi,
1st pass comments only for now.
On 02/11/2016 17:50, Chris Wilson wrote:
Track the priority of each request and use it to determine the order in
which we submit requests to the hardware via execlists.
The priority of the request is determined by the user (eventually via
the context) but m
Track the priority of each request and use it to determine the order in
which we submit requests to the hardware via execlists.
The priority of the request is determined by the user (eventually via
the context) but may be overridden at any time by the driver. When we set
the priority of the reques