7 Commits

Author SHA1 Message Date
Derek Morton
d264c73929 benchmarks/gem_syslatency: Add extra android guard to attr_setaffinity_np
Android defines __USE_GNU but does not provide pthread_attr_setaffinity_np()
so added an extra guard arround pthread_attr_setaffinity_np().

Signed-off-by: Derek Morton <derek.j.morton@intel.com>
2016-03-11 11:34:48 +00:00
Chris Wilson
3e2443f838 igt/gem_exec_nop: Fix logical inversion for checking of valid execbuf
Only if the trial __gem_execbuf reports an error do we want to remove
the fancy LUT flags.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-10 12:46:52 +00:00
Chris Wilson
544ba6ca88 benchmarks/gem_syslatency: Guard setaffinity_np
pthread_setaffinity_np is a GNU extensions, so add some __USE_GNU
ifdeffry and hope for the best if unavailable.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-10 12:28:26 +00:00
Chris Wilson
3e0d9ef02c benchmarks/gem_syslatency: Subtract the clock_gettime() overhead
Since clock_gettime() should be a fixed overhead that adds to the
latency result, subtract it from the result.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-10 10:15:31 +00:00
Chris Wilson
2a41c4b183 benchmarks/gem_syslatency: Prevent CPU sleeps (C-states)
In order to keep the latency as low as possible for the idle load, we
need to keep the CPU awake. Otherwise we end up with the busy workload
having lower latency than the idle workload!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-10 09:29:26 +00:00
Chris Wilson
c084c2b88b benchmarks/gem_syslatency: Measure unloaded latency
Also useful to know how much worse than baseline the latency is when the
gem load is applied. For slower systems, presenting in nanoseconds makes
it hard to read, so switch to microseconds for output.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-10 08:41:25 +00:00
Chris Wilson
6cd15fb930 benchmarks: Add gem_syslatency
Instead of measuring the wakeup latency of a GEM client, we turn the
tables here and ask what is the wakeup latency of a normal process
competing with GEM. In particular, a realtime process that expects
deterministic latency.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-09 23:40:21 +00:00