Instead of measuring the wakeup latency of a GEM client, we turn the
tables here and ask what is the wakeup latency of a normal process
competing with GEM. In particular, a realtime process that expects
deterministic latency.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Use a simpler statically allocated struct for computing the mean as
otherwise we many run out of memeory!
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>
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>
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>
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>