Exercise the eviction logic. This is just a naive test to ensure that we
can evict old buffers to accommodate new batches, and in the process
trigger the evict everything logic.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Found the bug, but still only read the msr once every second - mainly as
an exercise in handling different sample rates.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Not much point at the moment since we use forcewake to continuously
probe the GPU busyness. But that will eventually change to a more
power-efficient in-kernel.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Apparently the simple changes introduced in
commit 78865847f9fae7e590960f9836f2ec8b611a190e
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
AuthorDate: Mon Aug 19 07:23:49 2013 +0200
Commit: Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Mon Aug 19 08:09:25 2013 +0200
lib/drmtest: skip fixtures after an igt_skip
pushed the stack space requirement for run_modes over some magic limit
(I guess where the strack grow logic starts to fail, but I didn't
check). Fix this by moving the data into .bss.
Also add some asserts to check that fixtures aren't abused while at
it (i.e. the useful parts of my debug printf/assert craze).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68299
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
And stop assigning colours beyond the end of the array. Still needs a
better method for colour assignment, big list of good colours & ida?
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This patch is to avoid the error on device auto-detection failure
"TypeError: Can't convert 'int' object to str implicitly".
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Iterate through all valid/invalid crtc/connector combinations. At the
moment only clone configurations are tested as the single output cases
are tested already by testdisplay. Also from combinations where all
connectors are on the same crtc (clone-single-crtc) only those are
tested that are invalid, as I haven't found any machine that supports
these (have to be GT2 with dvo and vga output).
For configurations with one crtc per connector the FBs are per-crtc atm.
Signed-off-by: Imre Deak <imre.deak@intel.com>
At the moment any command line option handling done by tests will
interfere with the option handling of the subtest interface. To fix this
add a new version of the subtest_init function accepting optional short
and long command line options. Merge these together with the subtest
interface's own long options and handle both together in the same
getopt_long call.
Signed-off-by: Imre Deak <imre.deak@intel.com>
It's unused. Also most of our tests failed to ask for the right type
of drm fd anyway. So it's imo better to just let them fall over when
they don't get master but want it, like they already do today.
This also allows us to garbage-collect the master parameter to
drm_get_card and associated code.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
With the abortable fixtures we can now correctly fail all subsequent
sutbests if we hit upon an igt_assert outside of a subtest.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This way we can just enclose all igt_skip/igt_require calls into
fixtures even when we have subtests, and still output correct SKIP
message for all of them. Wohoo, magic!
The only thing which doesn't work yet is enumerating failed subtests,
but I think that should work out on top of this.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Condense the information and begin graphing it. Remaining todo for
memory is to measure bind/evict flux, and perhaps clflush.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
For seqno completion, the events are too coarse i.e. one event may
signal the completion of a few seqno. We will need to sort the events to
properly compute the busy times.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Since the events may be processed out of order (due to per-cpu
ringbuffers) we need to be careful to associated wait pairs in order to
compute the correct elapsed time.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Effectively you choose to redirect the output of an event instead of
mmapping it directly - but the target must already be mmapped.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>