mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-12 02:16:17 +00:00
igt/gem_exec_nop: Relax parallel assertion for short rings
On bdw, the render ring becomes full and limits dispatch across all rings. Adjust the expected latency to take this into account. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
870c774b86
commit
41a26b5152
@ -126,7 +126,7 @@ static void all(int fd, uint32_t handle, int timeout)
|
|||||||
unsigned nengine;
|
unsigned nengine;
|
||||||
unsigned engine;
|
unsigned engine;
|
||||||
unsigned long count;
|
unsigned long count;
|
||||||
double time, max = 0, sum = 0;
|
double time, max = 0, min = HUGE_VAL, sum = 0;
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
||||||
nengine = 0;
|
nengine = 0;
|
||||||
@ -139,6 +139,8 @@ static void all(int fd, uint32_t handle, int timeout)
|
|||||||
name = e__->name;
|
name = e__->name;
|
||||||
max = time;
|
max = time;
|
||||||
}
|
}
|
||||||
|
if (time < min)
|
||||||
|
min = time;
|
||||||
sum += time;
|
sum += time;
|
||||||
engines[nengine++] = engine;
|
engines[nengine++] = engine;
|
||||||
}
|
}
|
||||||
@ -179,7 +181,13 @@ static void all(int fd, uint32_t handle, int timeout)
|
|||||||
time = elapsed(&start, &now) / count;
|
time = elapsed(&start, &now) / count;
|
||||||
igt_info("All (%d engines): %'lu cycles, average %.3fus per cycle\n",
|
igt_info("All (%d engines): %'lu cycles, average %.3fus per cycle\n",
|
||||||
nengine, count, 1e6*time);
|
nengine, count, 1e6*time);
|
||||||
igt_assert(time < 2*sum/nengine); /* ensure parallel execution */
|
|
||||||
|
/* The rate limiting step is how fast the slowest engine can
|
||||||
|
* its queue of requests, if we wait upon a full ring all dispatch
|
||||||
|
* is frozen. So in general we cannot go faster than the slowest
|
||||||
|
* engine, but we should equally not go any slower.
|
||||||
|
*/
|
||||||
|
igt_assert(time < max + min); /* ensure parallel execution */
|
||||||
}
|
}
|
||||||
|
|
||||||
igt_main
|
igt_main
|
||||||
|
Loading…
x
Reference in New Issue
Block a user