[Intel-gfx] [RFC] drm/i915/bdw+: Do not emit user interrupts when not needed

Chris Wilson chris at chris-wilson.co.uk
Fri Dec 18 18:11:47 PST 2015


On Fri, Dec 18, 2015 at 02:29:22PM +0000, Chris Wilson wrote:
> On Fri, Dec 18, 2015 at 01:51:38PM +0000, Tvrtko Ursulin wrote:
> > On 18/12/15 12:28, Chris Wilson wrote:
> > >An interesting igt experiement I think would be:
> > >
> > >thread A, keep queuing batches with just a single MI_STORE_DWORD_IMM *addr
> > >thread B, waits on batch from A, reads *addr (asynchronously), measures
> > >latency (actual value - expected(batch))
> > >
> > >Run for 10s, report min/max/median latency.
> > >
> > >Repeat for more threads/contexts and more waiters. Ah, that may be the
> > >demonstration for the thundering herd I've been looking for!
> > 
> > Hm I'll think about it.
> 
> I'm working on this as I have been trying to get something to measure
> the thundering herd issue (I have one benchmark that measures how much
> CPU time we steal to handle interrupts, but it is horrible).

Remembered that we have timestamp registers. So
igt/benchmarks/gem_latency measures the number of engine cycles from the
end of a batch to the time the client is woken up (for a variety of
producer:consumers). That should be suitable to serve as a basis for
measurements.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list