Re: [PATCH 13/13] drm/i915: Cache last IRQ seqno to reduce IRQ overhead

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

 



On Fri, Dec 11, 2015 at 03:35:54PM +0000, John Harrison wrote:
> On 11/12/2015 14:55, Chris Wilson wrote:
> >On Fri, Dec 11, 2015 at 01:12:01PM +0000, John.C.Harrison@xxxxxxxxx wrote:
> >>From: John Harrison <John.C.Harrison@xxxxxxxxx>
> >>
> >>The notify function can be called many times without the seqno
> >>changing. A large number of duplicates are to prevent races due to the
> >>requirement of not enabling interrupts until requested. However, when
> >>interrupts are enabled the IRQ handle can be called multiple times
> >>without the ring's seqno value changing. This patch reduces the
> >>overhead of these extra calls by caching the last processed seqno
> >>value and early exiting if it has not changed.
> >This is just plain wrong. Every user-interrupt is preceded by a seqno
> >update.
> Except that mutiple interrupts can be coalesced if they occur too
> close together. The driver's IRQ handler still gets called for each
> individual interrupt but the first time it is run it sees the seqno
> for the last. Thus all the processing gets done on the first
> invocation. The multiple subsequent invocations (I have seen up to
> four I believe) then have nothing to do.

Yes. That is not what you implied above, or by talk about caching the
seqno -- which is already cached. There is a reason why we don't do this
in the interrupt handler and are not about to do so again.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://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