Re: [PATCH 40/55] drm/i915: Refactor blocking waits

Chris Wilson
2016-07-27T17:34:55Z

On Wed, Jul 27, 2016 at 01:42:13PM +0300, Joonas Lahtinen wrote:
> On ke, 2016-07-27 at 08:07 +0100, Chris Wilson wrote:
> > >
> > > > +           active = obj->last_read;
> > > > +           active_mask = obj->active;
> > > >     } else {
> > > > -           for (i = 0; i < I915_NUM_ENGINES; i++) {
> > > > -                   request = i915_gem_active_peek(&obj->last_read[i],
> > > > -                                                  &obj->base.dev->struct_mutex);
> > > > -                   if (!request)
> > > > -                           continue;
> > > > +           active_mask = 1;
> > >
> > > Wouldn't we have RENDER_RING define for this and other instances?
> >
> > ?
>
> Defining a mask with first bit set is not very informative, is it?

Just for clarification to the list:

This doesn't correspond to any engine, but that the array of active[] is
only of size 1. The first branch iterates over
last_read[I915_NUM_ENGINES] for which we track the current active_mask.
The second branch iterates over last_write[1] for which we have no
shortcut, and so assign the mask the value 1.
-Chris

--
Chris Wilson, Intel Open Source Technology Centre