Mesa (master): radv: re-order GPU hang report dumps by usefulness
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Oct 23 07:45:29 UTC 2020
Module: Mesa
Branch: master
Commit: 9516f9369e4e9f16748afff81c02b9f225c0f124
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9516f9369e4e9f16748afff81c02b9f225c0f124
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Tue Oct 20 11:40:09 2020 +0200
radv: re-order GPU hang report dumps by usefulness
In case the GPU recover, it's probably better to dump useful info
first.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7233>
---
src/amd/vulkan/radv_debug.c | 64 ++++++++++++++++++++++-----------------------
1 file changed, 32 insertions(+), 32 deletions(-)
diff --git a/src/amd/vulkan/radv_debug.c b/src/amd/vulkan/radv_debug.c
index 48727f4ee80..c5ab5387a80 100644
--- a/src/amd/vulkan/radv_debug.c
+++ b/src/amd/vulkan/radv_debug.c
@@ -638,6 +638,38 @@ radv_check_gpu_hangs(struct radv_queue *queue, struct radeon_cmdbuf *cs)
abort();
}
+ /* Dump pipeline state. */
+ snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "pipeline.log");
+ f = fopen(dump_path, "w+");
+ if (f) {
+ radv_dump_queue_state(queue, f);
+ fclose(f);
+ }
+
+ /* Dump UMR ring. */
+ snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "umr_ring.log");
+ f = fopen(dump_path, "w+");
+ if (f) {
+ radv_dump_umr_ring(queue, f);
+ fclose(f);
+ }
+
+ /* Dump UMR waves. */
+ snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "umr_waves.log");
+ f = fopen(dump_path, "w+");
+ if (f) {
+ radv_dump_umr_waves(queue, f);
+ fclose(f);
+ }
+
+ /* Dump debug registers. */
+ snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "registers.log");
+ f = fopen(dump_path, "w+");
+ if (f) {
+ radv_dump_debug_registers(device, f);
+ fclose(f);
+ }
+
/* Dump VM fault info. */
if (vm_fault_occurred) {
snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "vm_fault.log");
@@ -674,38 +706,6 @@ radv_check_gpu_hangs(struct radv_queue *queue, struct radeon_cmdbuf *cs)
fclose(f);
}
- /* Dump UMR ring. */
- snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "umr_ring.log");
- f = fopen(dump_path, "w+");
- if (f) {
- radv_dump_umr_ring(queue, f);
- fclose(f);
- }
-
- /* Dump UMR waves. */
- snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "umr_waves.log");
- f = fopen(dump_path, "w+");
- if (f) {
- radv_dump_umr_waves(queue, f);
- fclose(f);
- }
-
- /* Dump debug registers. */
- snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "registers.log");
- f = fopen(dump_path, "w+");
- if (f) {
- radv_dump_debug_registers(device, f);
- fclose(f);
- }
-
- /* Dump pipeline state. */
- snprintf(dump_path, sizeof(dump_path), "%s/%s", dump_dir, "pipeline.log");
- f = fopen(dump_path, "w+");
- if (f) {
- radv_dump_queue_state(queue, f);
- fclose(f);
- }
-
fprintf(stderr, "radv: GPU hang report saved to '%s'!\n", dump_dir);
abort();
}
More information about the mesa-commit
mailing list