Age | Commit message (Collapse) | Author |
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Clang pretends to be GCC and then dies on GCC pragma.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Given aperture fragmentation execution with a fresh object would bind it
outside of the mappable aperture. On earlier gen, execbuf uses the global
GTT and so a subsequent pwrite would be move the idle object into the
mappable aperture, invalidating the existing reloc.presumed_offset - which
are supposed to be accurate as we pass NORELOC.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98109
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We need to not only cover the function in the target=sse4.1 but the
include as well.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
It access hardware, hence why the simple igt_only_list_subtests()
check from igt_fork/stop_signal_helper() isn't enough.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
|
|
Too many interrupts missed being ignored.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The *-before-* tests were designed to detect a potential issue with long
speculative prefetches that would load the map[] before we have even
called execbuf(). As CPUs get smarter and able to look ahead further we
are starting to see failures and as we know the code is deliberately
buggy exclude the tests from BAT. (I want to keep the tests in the full
suite so that we can record which processors are affected, and look for
related issues.)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95378
References: https://bugs.freedesktop.org/show_bug.cgi?id=95488
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When reading reports, it is much easier for the test to tell us how it
will be run than try and remember the configuration of a random machine.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Add docs, rename parameter and rename the macro to igt_do_timeout to
make it clear it works like a loop.
v2: Rename instead to igt_until_timeout (Chris).
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
|
|
- Give __ prefix to internal funcstion and structs, only
igt_interruptible is used by tests.
- Move docs to igt_interruptible and adjust.
- Explain more clearly how the timeout is getting doubled each
iteration until no more interruptions happen. Also rename the
argument to give it a more meaningful name in the docs.
- Link from other functions to this one for cross-referencing.
- Rename to igt_do_interruptible to make it clearer it's a loop,
inspired by do {} while () loops.
v2: Rename instead to igt_while_interruptible and fix typos (Chris).
And add gtk-doc for igt_ioctl, too.
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
After we inspect map[i], we must flush again before checking map[i] for
the xor pass.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Only do one mode of batch writing for BAT, and hope that is sufficient
to route out all the coherency problems when doing the cmdparser and
when not. We still have the full set for non-BAT, just less of a
smokescreen.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
On the CI machines, the coherency tests are flip-flopping on byt/bsw.
Undesirable as they should always fail (until we have a good w/a).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
One property lost in the expansion for various coherency checks was
ensuring that every time we overwrote the batch it had a unique value
(to ensure that the GPU was seeing the latest value).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Look at handling of multiple batches within the buffer and avoiding as
much synchronisation as possible.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When using the kernel set-domain cache management, we need to set the
domain as appropriate for our pointer access. In this case we access the
buffer through a CPU mmap, and so we must request access via the CPU
domain.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When looking at a pair of GPU writes, where we want to make sure that
the clean cacheline is invalidated automatically, we want to reuse that
cacheline whilst we know it remains valid (i.e. repeat the test using a
new value to the same location).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Since the value in the bo may be altered by the test, we only want to
repeat phases of the test to avoid breaking the test itself.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Add a requirement for mmap-wc so that failure on older kernels is explained.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Look at different cachelines on each pass, otherwise each group of 16
flush the same cachline.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
As a point of comparison, test the pread/pwrite interface as well.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We can make the requirement testing and reporting tidier by using
igt_subtest_group.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Alternate between two values written by the GPU so that we can look for
stale cachelines without having to overwrite the value with the CPU.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
A basic check that the execbuf flushes writes from the batch and that
they are coherent afterwards.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|