[Intel-gfx] [PATCH v8 6/6] drm/i915: Cache last IRQ seqno to reduce IRQ overhead

Chris Wilson chris at chris-wilson.co.uk
Fri May 13 07:41:51 UTC 2016


On Thu, May 12, 2016 at 10:06:36PM +0100, John.C.Harrison at Intel.com wrote:
> From: John Harrison <John.C.Harrison at Intel.com>
> 
> The notify function can be called many times without the seqno
> changing. Some are to prevent races due to the requirement of not
> enabling interrupts until requested. However, when interrupts are
> enabled the IRQ handler can be called multiple times without the
> ring's seqno value changing. E.g. two interrupts are generated by
> batch buffers completing in quick succession, the first call to the
> handler processes both completions but the handler still gets executed
> a second time. This patch reduces the overhead of these extra calls by
> caching the last processed seqno value and early exiting if it has not
> changed.

The idea is not to cache the last seqno (since that value is already
cached!) but to post new irq events.

Compare and contrast
https://patchwork.freedesktop.org/patch/85664/
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list