3528 Commits

Author SHA1 Message Date
Chris Wilson
16bafdf5bf igt/gem_concurrent_blit: Inject hangs before verifying contents
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>
2015-01-07 17:35:14 +00:00
Chris Wilson
25cf0551c7 igt/gem_ctx_thrash: Tweak resource limits
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>
2015-01-06 10:07:31 +00:00
Chris Wilson
eaa1e8e127 ioct_wrappers: Add some mmap(wc) blurb dropped between authors
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-01-06 10:07:08 +00:00
Alan Coopersmith
33d52a8543 Skip MADV_DOFORK & MADV_DONTFORK calls on OS'es that don't support them
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Alan Coopersmith
843beb152b Don't try to use CLOCK_MONOTONIC_COARSE on OS'es that don't support it
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Alan Coopersmith
95ea5d5c0b Provide sighandler_t fallback for non-GNU-libc platforms
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Alan Coopersmith
f04b9dfba0 Need to #include <libgen.h> for basename() on Solaris
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Alan Coopersmith
99e6defbe7 Use pthread calls instead of raw syscalls on non-Linux systems
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>
2015-01-06 09:29:45 +01:00
Alan Coopersmith
cf93bc8df9 Solaris needs to #include <sys/kd.h> instead of <linux/kd.h>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Alan Coopersmith
f7766d1c77 Fix #ifdef check for _SC_AVPHYS_PAGES in intel_get_avail_ram_mb()
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>
2015-01-06 09:29:45 +01:00
Akash Goel
f3e1a3d9f8 igt/gem_mmap_wc: Add the invalid flags subtest
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>
2015-01-06 09:29:45 +01:00
Chris Wilson
f2a045f851 igt/gem_concurrent_blit: Exercise wc mappings
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Chris Wilson
d95736906d igt/gem_fence_upload: Add comparison against wc mmaps
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Chris Wilson
58865891ba igt/gem_gtt_speed: compare against WC mmaps
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Chris Wilson
e70c789909 igt/gem_tiled_wc: Exercise wc mmaps with swizzling
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>
2015-01-06 09:29:45 +01:00
Chris Wilson
a464fb758e igt/gem_mmap_wc: Exercise mmap(wc) interface
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-06 09:29:45 +01:00
Chris Wilson
c49a7e9163 lib/core: Fix compile error from rebasing
s/KMSG_INFO/KERN_INFO/

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-01-05 14:34:58 +00:00
Chris Wilson
d8bf7e17cb lib/core: Show the exitcode in kmsg as well
This provides symmetry with logging the start of the test via kmsg.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-01-05 14:12:02 +00:00
Vincent Cheng
cb512b6470 tools/intel_gpu_abrt: Fix bashism
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
2014-12-31 10:42:38 +00:00
Chris Wilson
eb799b2994 overlay: Hide kworker threads in overview
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>
2014-12-21 13:56:04 +00:00
Chris Wilson
0be9766952 overlay: A couple of valgrind pleasers
Make sure we initialise values to keep valgrind happy

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-12-21 13:56:04 +00:00
Chris Wilson
7f9d14aa51 overlay: Negative modulus
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>
2014-12-21 13:56:04 +00:00
Chris Wilson
c537cdb08e igt/gem_ctx_thrash/threads: Allow bo resuse
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>
2014-12-18 16:22:59 +00:00
Chris Wilson
4bde754349 igt/gem_ctx_thread/processes: Serialise after forking children
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>
2014-12-18 16:22:59 +00:00
Chris Wilson
9f389d00cf igt/gem_ctx_thrash: Boost workloads
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>
2014-12-18 11:49:11 +00:00
Chris Wilson
14c661599b lib/gen8: Make rendercopy threadsafe
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-12-18 11:49:11 +00:00
Chris Wilson
71e9e9c564 lib: random() is too slow
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>
2014-12-18 11:49:11 +00:00
Tim Gore
6999b70a84 Demos/Android.mk: build intel_sprite_on
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>
2014-12-17 21:53:34 +01:00
Thomas Wood
f73697aa8b NEWS: New heading for 1.10
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-17 14:34:47 +00:00
Chris Wilson
959a7db668 igt: Add gem_ctx_thrash to fill the GGTT with contexts
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-12-17 11:32:15 +00:00
Daniel Vetter
739790d7ed tests/gem_exec_blt: Add subtest that uses dumb buffers
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>
2014-12-17 09:05:10 +01:00
Thomas Wood
6262f353bb Update version to 1.9 and add the release date
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-12 15:27:08 +00:00
Tim Gore
06fb6c233d Demos/Android.mk: dont build intel_sprite_on
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>
2014-12-12 14:41:45 +00:00
Thomas Wood
267b352c4f NEWS: Updates
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-12 14:28:38 +00:00
Thomas Wood
f59bbf7e8f lib: fix a few documentation warnings
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-12 14:18:12 +00:00
Tim Gore
a11117e42f Android.mk: replace std=c99 with std=gnu99
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>
2014-12-12 12:18:22 +00:00
Tim Gore
264e1ac10a Demos/Android.mk: dont build intel_sprite_on
intel_sprite_on wont build on Android.

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-12 12:18:22 +00:00
Joonas Lahtinen
6414707bdc lib: Fix out of tree build of version.h
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>
2014-12-12 12:18:22 +00:00
Thomas Wood
42b02c284e lib: add a function to lock memory into RAM
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>
2014-12-11 17:57:03 +00:00
Thomas Wood
5fe9c88bda lib: add optional log domain filtering
v2: add an "application" filter for the default domain (used by
    applications)

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-11 17:57:03 +00:00
Thomas Wood
8161a21762 lib: introduce log domains
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>
2014-12-11 17:55:15 +00:00
Thomas Wood
85b74d5c14 tests/gem_tiled_swapping: use igt_info logging wrapper
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-11 11:50:22 +00:00
Thomas Wood
16f1506ff6 tests: replace 3D test images
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>
2014-12-10 17:11:35 +00:00
Thomas Wood
bdbf78db01 tools: add missing copyright headers
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-10 15:55:58 +00:00
Thomas Wood
f3ae3deb4f NEWS: Updates
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-10 15:55:58 +00:00
Thomas Wood
e80922eba6 Add a MAINTAINERS file
Acked-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-10 15:49:14 +00:00
Thomas Wood
84f23415c4 Update README
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-10 14:21:22 +00:00
Ville Syrjälä
5d46f68eab tests/kms_cursor_crc: Restore the valid pipe/connector combo check
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>
2014-12-09 22:35:36 +02:00
Ville Syrjälä
b6f68c10b4 tests/kms_mmio_vs_cs_flip: Count valid tests for all crtcs
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>
2014-12-09 20:41:18 +02:00
Ville Syrjälä
1b6eb414f3 lib/igt_debugfs: Throw away the two first CRCs
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>
2014-12-09 20:41:18 +02:00