[PATCH i-g-t,v3 0/5] Stress copy engines during render
Francois Dugast
francois.dugast at intel.com
Wed Mar 26 12:02:55 UTC 2025
This series uses existing BLT copy code to stress the copy engines with many
jobs in parallel, while measuring the impact on the execution duration of a
rendering job. This has been tested on BMG, where a typical run looks like
this:
IGT-Version: 2.0-g21c8917a9 (x86_64) (Linux: 6.14.0-rc3+ x86_64)
Using IGT_SRANDOM=1742990501 for randomisation
Opened device: /dev/dri/card0
Starting subtest: render-stress-0-copies
Render duration: avg = 3924293 ns, min = 3187704 ns, max = 8860981 ns
Subtest render-stress-0-copies: SUCCESS (0.404s)
Starting subtest: render-stress-1-copies
Render duration: avg = 2504371 ns, min = 1724688 ns, max = 3979533 ns
Subtest render-stress-1-copies: SUCCESS (0.279s)
Starting subtest: render-stress-2-copies
Render duration: avg = 7610632 ns, min = 1784311 ns, max = 261435774 ns
Subtest render-stress-2-copies: SUCCESS (0.546s)
Starting subtest: render-stress-4-copies
Render duration: avg = 17915510 ns, min = 1913233 ns, max = 778946986 ns
Subtest render-stress-4-copies: SUCCESS (1.055s)
Starting subtest: render-stress-16-copies
Render duration: avg = 80099175 ns, min = 1620635 ns, max = 3885120584 ns
Stack trace:
#0 ../lib/igt_core.c:2054 __igt_fail_assert()
#1 ../tests/intel/xe_render_copy.c:690 __igt_unique____real_main662()
#2 ../tests/intel/xe_render_copy.c:662 main()
#3 ../sysdeps/nptl/libc_start_call_main.h:74 __libc_start_call_main()
#4 ../csu/libc-start.c:128 __libc_start_main@@GLIBC_2.34()
#5 [_start+0x25]
Subtest render-stress-16-copies: FAIL (4.246s)
v3: Rename to xe_blt_mem_copy() and promote to xe_util instead of
lib/intel_blt as this is xe-specific
Francois Dugast (5):
lib/xe/xe_util: Promote xe_blt_mem_copy()
lib/intel_blt: Allow forcing multiple runs in blt_mem_copy()
lib/xe/xe_util: Control ncopies in xe_blt_mem_copy()
tests/intel/xe_render_copy: Expose render duration
tests/intel/xe_render_copy: Render under copy stress
lib/intel_blt.c | 32 +++---
lib/intel_blt.h | 3 +-
lib/xe/xe_util.c | 56 +++++++++
lib/xe/xe_util.h | 3 +
tests/intel/xe_copy_basic.c | 36 +-----
tests/intel/xe_render_copy.c | 217 ++++++++++++++++++++++++++++++++++-
6 files changed, 295 insertions(+), 52 deletions(-)
--
2.43.0
More information about the igt-dev
mailing list