[Mesa-dev] [PATCH 0/2] RadeonSI: Use UMR for hang debugging
maraeo at gmail.com
Sat Feb 4 22:44:27 UTC 2017
These are for our new UMR debugging tool. (see the amd-gfx list)
The idea is that you install umr, do "chmod +s" on it, and when you enable
GALLIUM_DDEBUG in the unpipelined mode and encounter a GPU hang, the hang
report will contain the shader asm annotated with where the GPU waves are
stuck, and it will also print the EXEC mask and the current instruction
There are 4 kinds of GPU hangs we can differentiate between now:
1) A wave is stuck on a shader instruction and doesn't make progress.
A corrupted descriptor or a resource allocation deadlock are possible
causes. If a wave is stuck on s_waitcnt, the descriptor might be
2) Infinite loop. You can tell that from EXEC and also if the PC (program
counter) is changing if you run UMR multiple times manually.
3) Shader binary corruption. The instruction being executed doesn't match
the driver's copy of the shader binary.
4) Not a shader hang. The GPU is stuck, but there are no active waves.
Since these have been reviewed by Nicolai already, I'll push them some
time next week if there are no review comments.
More information about the mesa-dev