Re: [PATCH] drm/i915: Move tasklet kicking to __i915_request_queue caller

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

 



Quoting Mika Kuoppala (2019-08-15 12:35:37)
> Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes:
> 
> > Since __i915_request_queue() may be called from hardirq (timer) context,
> > we cannot use local_bh_disable/enable at the lower level. As we do want
> > to kick the tasklet to speed up initial submission or preemption for
> > normal client submission, lift it to the normal process context
> > callpath.
> >
> > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> > ---
> >  drivers/gpu/drm/i915/i915_request.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
> > index 4021334dd2c5..8a2bc1d317e4 100644
> > --- a/drivers/gpu/drm/i915/i915_request.c
> > +++ b/drivers/gpu/drm/i915/i915_request.c
> > @@ -1203,12 +1203,10 @@ void __i915_request_queue(struct i915_request *rq,
> >        * decide whether to preempt the entire chain so that it is ready to
> >        * run at the earliest possible convenience.
> >        */
> > -     local_bh_disable();
> >       i915_sw_fence_commit(&rq->semaphore);
> >       if (attr && rq->engine->schedule)
> >               rq->engine->schedule(rq, attr);
> >       i915_sw_fence_commit(&rq->submit);
> > -     local_bh_enable(); /* Kick the execlists tasklet if just scheduled */
> 
> Was this here to only optimize the latency from schedule
> to resubmission?

It's only for latency minimisation. If we don't do it now, the
raise_softirq will not be until the process hits the scheduler.

Fence -> backend is all irq-spinlocks.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




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

  Powered by Linux