Skip to content

iris: improve the dump_validation_list() output

Paulo Zanoni requested to merge pzanoni/mesa:iris-submit-pretty-print into main

This is about INTEL_DEBUG=submit with Iris.

  • Increase the buffer index from %2d to %3d since many of the workloads we care about have execbuf calls with over 100 buffers.
  • Increase the GEM handle from %2d to %4d for similar reasons.
  • Print the offset as %016 instead of just % since a lot of the addresses start with eight 0s. This was the major cause of misalignment in the output.
  • Print the size as %8 instead of just % so the parens also get nicely aligned. This was the second cause of major misalignment since values of 1048576B and 4096B are pretty common, causing a 3 character shift. We may have to increase this further.
  • Replace a \t with " " to separate a column. This looks like it's enough when everything else is nicely aligned.
  • Print not only writable buffers but also async and external ones.

Example glxgears output. Before:

Validation list (length 14):
[ 0]: 19 command buffer @ 0xfffffffeffb2d000 (65536B)	  2 refs
[ 1]:  1 workaround     @ 0xfffffffefffff000 (4096B)	  3 refs
[ 2]: 16 dynamic state  @ 0x2fffef000 (65536B)	  2 refs
[ 3]: 10 miptree        @ 0xfffffffeffedd000 (524288B)	  4 refs  (write)
[ 4]: 17 shader kernels @ 0xffff7000 (16384B)	  2 refs
[ 5]: 18 buffer         @ 0xfffffffeffb3d000 (1048576B)	  2 refs
[ 6]:  4 surface state  @ 0x1fffef000 (65536B)	  2 refs
[ 7]:  6 binder         @ 0x100010000 (65536B)	  2 refs
[ 8]: 21 miptree        @ 0xfffffffeffa9d000 (524288B)	  2 refs  (write)
[ 9]: 12 buffer         @ 0xfffffffeffdbd000 (131072B)	  2 refs
[10]: 15 buffer         @ 0xfffffffeffc3d000 (1048576B)	  2 refs
[11]: 13 shader kernels @ 0xffffb000 (16384B)	  2 refs
[12]: 11 buffer         @ 0xfffffffeffddd000 (1048576B)	  2 refs
[13]:  5 buffer         @ 0xfffffffeffffe000 (4096B)	  2 refs  (write)

After:

Validation list (length 14):
[  0]:   19 command buffer @ 0xfffffffeffb2d000 (   65536B)   2 refs
[  1]:    1 workaround     @ 0xfffffffefffff000 (    4096B)   3 refs  async
[  2]:   16 dynamic state  @ 0x00000002fffef000 (   65536B)   2 refs
[  3]:   10 miptree        @ 0xfffffffeffedd000 (  524288B)   4 refs  write
[  4]:   17 shader kernels @ 0x00000000ffff7000 (   16384B)   2 refs
[  5]:   18 buffer         @ 0xfffffffeffb3d000 ( 1048576B)   2 refs
[  6]:    4 surface state  @ 0x00000001fffef000 (   65536B)   2 refs
[  7]:    3 binder         @ 0x0000000100000000 (   65536B)   2 refs
[  8]:    9 miptree        @ 0xfffffffefff5d000 (  524288B)   2 refs  write external
[  9]:   12 buffer         @ 0xfffffffeffdbd000 (  131072B)   2 refs
[ 10]:   15 buffer         @ 0xfffffffeffc3d000 ( 1048576B)   2 refs
[ 11]:   13 shader kernels @ 0x00000000ffffb000 (   16384B)   2 refs
[ 12]:   11 buffer         @ 0xfffffffeffddd000 ( 1048576B)   2 refs
[ 13]:    5 buffer         @ 0xfffffffeffffe000 (    4096B)   2 refs  write

Signed-off-by: Paulo Zanoni paulo.r.zanoni@intel.com

Edited by Marcin Ślusarz

Merge request reports