Age | Commit message (Collapse) | Author |
|
If we are using a streaming GGTT write into the source, we need to
trigger an early fault in order to obtain a mappable offset. This is
required when later we start reserving execbuf object top-down to try
and avoid mappable space!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
SKL changed state base address command.
Cc: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Dominik Zeromski <dominik.zeromski@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
BDW changed structure of surface state and interface descriptors.
Commands like state base address, gpgpu walker were extended.
Cc: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Dominik Zeromski <dominik.zeromski@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
The gpgpu fill utility functions are used in separate test so it's
logical to keep them in separate file. This is similar to what media
spin test did in the past.
Functionally only gpgpu kernel changed. Send instruction payload size
was reduced. Since offset is incremented by 0x10 bytes there is no point
in using larger writes.
Cc: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Dominik Zeromski <dominik.zeromski@intel.com>
[Thomas: Fix typo of gpgpu_fill.h in Makefile.sources]
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
Exit immediately if the test is already exiting and igt_fail is called.
This can happen if an igt_assert fails in an exit handler.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91349
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We don't always have precise integers with which to store, so allow
degrading to double precision floating point based on available input.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
And drop the now unnecessary universal plane definitions. The 2.4.55
version is already quite old, so we should be fine.
Thanks to Thomas Wood for quickly spotting this.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@>
|
|
I just remembered that those Makefile.sources files where also
included by the Android build system, so we can't use automake's
conditionals in there.
So, we want to use GNU make's one. Unfortunately, after all those years,
GNU automake still doesn't do anything useful with GNU make's ifeq:
lib/Makefile.sources:66: error: else without if
automake will helpfully signal that the 'else' corresponding to the
'ifeq' doesn't have a corresponding 'if'. Well, yeah, thanks.
Fortunately, we can work around this by cunningly inserting a space
before 'ifeq', 'else' and 'endif' and fool automake's regex-based
checks.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
When developing, it's quite annoying that the version changes every
commit, causing the library to be rebuild and every single binary
re-linked.
Add a config option to skip that.
I remember Ville asking for this "feature" as well.
v2: Option is now called --disable-git-hash (Thomas)
Various spelling mistakes (Thomas)
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Makes using GDB better on those binaries.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Useful knowledge for anyone looking at the documentation and following
the linkes.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
igt_save_module_param is an internal static function and therefore isn't
included in the public API documentation.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
The section id is generated from the section title and is used to create
the html output filename, which therefore causes problems if it includes
a '/' character.
Cc: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
https://en.wikipedia.org/wiki/Trimean
The trimean is a the most efficient 3-point L-estimator (estimator
of central tendency, i.e. average), even more robust than the
median at estimating the average of a sample population.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
https://en.wikipedia.org/wiki/Interquartile_mean
The IQM is a truncated mean and so is very similar to the scoring
method used in sports that are evaluated by a panel of judges:
discard the lowest and the highest scores; calculate the mean
value of the remaining scores.
It's useful to hide outliers in measurements (due to cold cache etc),
without having to worry too much about the actual distribution.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
It's all about good looking APIs.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Chris mentioned he wanted to be able to measure a variable "for one
second" and use igt_stats to store them. That's one case where we don't
know the number of data points upfront.
We should really support that, so here it is.
v2: Just free ->sorted when a new capacity is needed.
ensure_sorted_values() will then reallocate the array to the new
capacity on demand (Chris)
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Chris had a doubt, and I was lazy and didn't do a similar test for the
quartiles/median than for the mean (test_invalidate_mean()). Plug that
gap.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
IQR is a good measure of dispersion.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
More stuff, quite useful characteristics of a dataset.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
In case we want to push a bunch of values in one go.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Lucky enough to have exact values, == works!
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Somewhat useful, for instance to size an histogram.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
We're going to use this simple fixture once more, might as well make a
function instead of copy/pasting code.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
This changes how we compute the variance. We want an unbiased variance
when reasoning about a sample.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Sigh.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Looks better!
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Because the structure started small, I initialized every member
directly, but that means that the new fields added weren't properly
initialized (sigh!). Zero the whole thing first then.
Also, the punishment for introducing a bug should be to write the
corresponding unit test. It's not a perfect one, but I'll take it.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Sure, that's an implementation details, but make sure we do recompute
the mean when we add a new value.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
Sure, it'll be freed at exit(), but might as well be a bit pedantic.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
There are several types of averages eg. mean, median and mode.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
With this, we don't need to worry about what happened to the buffer
before.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
|
|
I often run "sudo ./test 2>&1 | tee output.txt", and when we're
succeeding - never printing to stderr - the output gets buffered and
is never flushed (because it doesn't point to a terminal), so I never
know which test is running. With this fflush, I'm able to know when
each test finishes.
v2: Add blank line too (Chris)
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
|
|
The master plan would be to get a bit more stats in it, at least the
standard deviation and confidence interval. Just need the average for
now.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
If we are in an interactive session, enable the locale. This allows for
features like setting thousand separators for printing large values. By
only enabling it for interactive terminals, we avoid changing outputs
for the test scripts (leaving them as the "C" locale).
Note this mainly affects the testcases, or binaries built using libigt.
Other binaries need to be localised separately.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
|