Re: [PATCH v2 3/7] drm/i915/execlists: Make submission tasklet hardirq safe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Tvrtko Ursulin (2018-05-08 11:10:41)
> On 07/05/2018 14:57, Chris Wilson wrote:
> > @@ -744,13 +748,25 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
> >       /* We must always keep the beast fed if we have work piled up */
> >       GEM_BUG_ON(execlists->first && !port_isset(execlists->port));
> >   
> > -unlock:
> > -     spin_unlock_irq(&engine->timeline.lock);
> > -
> > -     if (submit) {
> > +     /* Re-evaluate the executing context setup after each preemptive kick */
> > +     if (last)
> >               execlists_user_begin(execlists, execlists->port);
> 
> Last can be non-null and submit false, so this is not equivalent.
> 
> By the looks of it makes no difference since it is OK to set the 
> execlists user active bit multiple times. Even though the helper is 
> called execlists_set_active_once. But the return value is not looked at.
> 
> Still, why not keep doing this when submit is true?

It's a subtle difference, in that we want the context reevaluated every
time we kick the queue as we may have changed state that we want to
reload, and not just ELSP. Sometimes we need inheritance of more than
just priority...
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux