11 Commits

Author SHA1 Message Date
Chris Wilson
e74dd22ff8 igt/gem_close_race: Increase GPU load
Increate the GPU load slightly, but mitigate the CPU overhead from
clflushing by keeping the object alive using flink. This has also the
side-effect of magnifying the desired busy-close race.

References: https://bugs.freedesktop.org/show_bug.cgi?id=71029
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-12 09:13:12 +01:00
Chris Wilson
98165d60be igt/gem_close_race: Trim object size
The challenge here is to race GPU activity versus the gem_close. Using a
large objects makes the window of GPU activity larger - except on !llc
systems we then incur massive overhead from clflush, likely destroying
any race (due to mutex contention). And that mutex contention is
amplified by the number of cores - bad news for Baytrail.

Give up and make the objects smaller and hope that the test is run
frequently enough to catch the race.

References: https://bugs.freedesktop.org/show_bug.cgi?id=71029
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-11 23:39:36 +01:00
Daniel Vetter
e49ceb8690 lib: unnecessary header removal for drmtest.h, part 1
Brought a few missing headers to light in ioctl_wrappers.h, too.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22 21:07:37 +01:00
Daniel Vetter
a86651fa24 tests/gem_close_race: Properly wrap init code in fixtures
Blows up otherwise if there's no intel gpu around.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-11 23:47:50 +01:00
Chris Wilson
be22e10885 igt/gem_close_race: Fix blit commands for BDW
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73958
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-29 23:02:50 +00:00
Oscar Mateo
4eae05f03b tests/gem_close_race: Adapt the test for Full PPGTT
With Full PPGTT, each new fd creates a new context and thus a new
PPGTT, so we have to reduce the number of simultaneous fds or face
OOM problems. For every new PPGTT, its PDEs are stored in the GGTT
which imposes a limit of 1024 new contexts. We want to leave at
least 1/4 of the GGTT available for "important" stuff like scanout
buffers, so never open more than 768 fds.

v2: Unconditionally use the lower limit, as suggested by Daniel
Vetter

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-12-13 17:49:13 +01:00
Daniel Vetter
071e9ca1ca lib: add igt_main macro
In the past new testcases with subtest often forgot to add the call to
igt_exit at the end of their main() function. That is now caught with
a bit more obnoxious asserts, but it's still a nuissance.

This little igt_main macro takes care of that (and also of calling the
subtest machinery initialization code correctly).

If no one objects I'll roll this out for all the simple cases (i.e.
those tests that don't have additional argv parsing on top of the
subtest machinery).

v2: Roll it out across the board.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-01 21:10:59 +01:00
Chris Wilson
8f771f3fac gem_close_race: Also test random closing of active fd
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-29 14:22:18 +00:00
Chris Wilson
ccb1b5888d gem_close_race: Bump the workload
Emit more work per client and many more clients in order to increase the
chance of racing i915_gem_release() and i915_gem_retire_requests()
2013-10-29 09:27:28 +00:00
Chris Wilson
51783fc7f9 gem_close_race: Tidy up call to execbuffer
Pass the right pointer to the execlist would be a good start.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-29 08:39:53 +00:00
Chris Wilson
90ecf062d1 tests: Add gem_close_race
The intention is to exercise #70784. Yet the first challenge is make the
test suite happy.
2013-10-28 09:13:09 +00:00