Re: [PATCH 08/13] drm/i915: Drive request submission through fence callbacks

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

 



On Thu, Aug 25, 2016 at 03:08:58PM +0300, Joonas Lahtinen wrote:
> On to, 2016-08-25 at 10:08 +0100, Chris Wilson wrote:
> > @@ -462,7 +462,10 @@ static int intel_breadcrumbs_signaler(void *arg)
> >  			 */
> >  			intel_engine_remove_wait(engine,
> >  						 &request->signaling.wait);
> > +
> > +			local_bh_disable();
> >  			fence_signal(&request->fence);
> > +			local_bh_enable(); /* kick start the tasklets */
> 
> Why disable bottom half processing around here too?

It is to reduce the latency of running the execlists tasklet after
submitting the request. fence_signal using an irq spinlock and so
doesn't fire off sortirqs - but if we are waking up this engine after an
inter-engine/cross-driver wait, that delay can cause a throughput drop
of about 30% due to the increased latency.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
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