[PATCH i-g-t 0/5] Stress copy engines during render

Francois Dugast francois.dugast at intel.com
Wed Mar 5 13:57: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: 1.30-gd625bfd4f (x86_64) (Linux: 6.14.0-rc3+ x86_64)
    Using IGT_SRANDOM=1741100923 for randomisation
    Opened device: /dev/dri/card0
    Starting subtest: render-stress-0-copies
    Render duration: avg = 3026116 ns, min = 2366875 ns, max = 6821519 ns
    Subtest render-stress-0-copies: SUCCESS (0.326s)
    Starting subtest: render-stress-1-copies
    Render duration: avg = 2301721 ns, min = 2053743 ns, max = 3889482 ns
    Subtest render-stress-1-copies: SUCCESS (0.276s)
    Starting subtest: render-stress-2-copies
    Render duration: avg = 7398805 ns, min = 1673659 ns, max = 261850405 ns
    Subtest render-stress-2-copies: SUCCESS (0.535s)
    Starting subtest: render-stress-4-copies
    Render duration: avg = 17759307 ns, min = 2036909 ns, max = 780867436 ns
    Subtest render-stress-4-copies: SUCCESS (1.059s)
    Starting subtest: render-stress-16-copies
    Render duration: avg = 79980375 ns, min = 2014429 ns, max = 3884022695 ns
    Subtest render-stress-16-copies: SUCCESS (4.180s)

Francois Dugast (5):
  lib/intel_blt: Promote blt_bo_copy()
  lib/intel_blt: Allow forcing multiple runs in blt_mem_copy()
  lib/intel_blt: Use blt_mem_copy() to stress copy functions
  tests/intel/xe_render_copy: Expose render duration
  tests/intel/xe_render_copy: Render under copy stress

 lib/intel_blt.c              |  86 +++++++++++---
 lib/intel_blt.h              |   6 +-
 tests/intel/xe_copy_basic.c  |  36 +-----
 tests/intel/xe_render_copy.c | 212 ++++++++++++++++++++++++++++++++++-
 4 files changed, 288 insertions(+), 52 deletions(-)

-- 
2.43.0



More information about the igt-dev mailing list