After setting up the copy operations, add a hanging batch. This should
mean that we complete the copy and the compare then races against the
GEM reset. Hopefully, this will catch driver bugs where the target
object is no longer accessible after the hang.
Note: hang injection is disabled until the required kernel interface is
completed. But there are useful additional tests here...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
On some systems (ok, most systems!) we may need to enlarge the allowed
number of open files in order to create enough fd to fill the aperture.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87572
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Raw system calls aren't portable to other kernels.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Check for the sysconf value used here, not the one used in the
previous function.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
A new subtest added to validate the new version of gem_mmap ioctl,
for creating the wc mappings, on yet to be supported flags.
v2: Removed the flags checking for older kernels (Daniel)
Signed-off-by: Akash Goel <akash.goel@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This exercises both the wc mmappings and the extended get_tiling ioctl.
Userspace cannot handle bit17 swizzling through wc mmaps (because bit17
requires swizzling based on the actual physical address of the page -
which is unknown to userspace) and so we need an extended get_tiling
ioctl to report the actual as well as the logical swizzling on an
object. We then check that the contents of the object are tiled and
swizzled correctly when viewed through a wc mmap.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
intel-gpu-tools ships a #!/bin/sh script that has bash-specific syntax
(which breaks on distros such as Debian and Ubuntu where /bin/sh is a
symlink to something other than bash).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87888
The kworker threads are used for flip handling and other non-userspace
driver tasks. They are non-blocking and so do not impact upon how
userspace performs, but they do obscure that information in the
overview.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Don't use a negative index into the array if the desired element is
negative, just wrap around properly into the ring for the chart.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We already allocate enough objects to thrash the ppGTT VMs, so allow us
to reuse the batch buffers for some efficiency gains and through the
contention more towards the ctx->vm.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Play nice, especially with the subtest, and wait for the children to
exit before finishing the test. If we don't we end up with a fork bomb
for some unknown reason...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Now that we are no longer busy-spinning inside random(), we can spend
more time exercising i915.ko
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
random() being a good multithread-safe RNG is too slow to be used in
stress tests, especially for a seemingly trivial task of randomising the
order of an array.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This reverts the effect of two commits
06fb6c233dd82aac766aa9206644f6eff668ca99
264e1ac10ac14a098a78cc9f96c4e7cabb124ee5
Both of these were to stop demos/intel_sprite_on
from being built, but the first was just broken.
So this commit re-enables building intel_sprite_on.
However, intel_sprite_on will not build in recent
Android trees. To overcome this the version
of IGT kept in the Android repository will carry a patch
to intel_sprite_on, and the automatic build test of
IGT on android will patch the freedesktop code on the fly.
Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Just to make sure this keeps working since a patch to WARN_ON using
dumb buffers in execbuf was accidentally merged.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
intel_sprite_on wont build on Android. Previous
attempt to disable was just wrong!
Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
The android makefiles were passing the -std=c99 flag to the
compiler which disables the typeof keyword. This causes a
build fail for a recent addition to igt_aux.h.
Change this to -std=gnu99, which is the flag used in the
linux build
Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Write the version.h.tmp file into the build directory instead of source
directory. This allows out of tree building when those two are not the
same.
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Add a function to lock memory into RAM and use it in the
gem_tiled_swapping test to reduce the amount of allocated memory
required to force swapping. This also reduces the amount of time
required for the test to complete, since the data set is smaller.
The following durations were recorded with gem_tiled_swapping on a
haswell system before the change:
Subtest non-threaded: SUCCESS (55.889s)
Subtest threaded: SUCCESS (810.532s)
and after:
Subtest non-threaded: SUCCESS (11.804s)
Subtest threaded: SUCCESS (268.336s)
v2: add various assertions and requirements and make sure
gem_tiled_swapping works on systems with less RAM (Daniel Vetter)
v3: fix allocation size calculation
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Log domains can be used to identify the source of log messages, such as
the test being run or the helper library.
v2: Add separate domains for different parts of the helper library and
use an empty default domain for applications.
Expand the log output to include the process name and the log level
of the message in addition to the domain and pid.
Print the expanded message only for warning and debug messages.
v3: check for glibc before using program_invocation_short_name
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Use images with a smaller file size, created by saving the left and
right stereo output of glxgears.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
The valid pipe/connector combo check was lost in
commit 57259d714d3fe1170cf931af72648219856a9918
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Mon Nov 24 16:08:32 2014 +0100
lib/igt_debugfs: Don't setup crc in _new
Restore it to make the test again useful on CHV.
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Report SKIP only if none of the pipe/connector combos worked, instead of
trying to report for each pipe separately.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
On CHV we sometimes see not just one but two bad CRCs. No real idea
what would cause that, but let's just throw away the second CRC as
well to gain some stability for the tests.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>