[Intel-gfx] [PATCH igt] lib: Dump /sys/kernel/debug/suspend_stats after suspend failure

Chris Wilson chris at chris-wilson.co.uk
Thu Nov 9 22:31:05 UTC 2017


I noticed that dpm was storing some information about which phase of
suspend failed inside suspend_stats. That will be useful to help debug
such failures, so automatically dump it after suspend fails.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 lib/igt_aux.c | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index ee53559c..0bcf792c 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -803,10 +803,24 @@ static void suspend_via_rtcwake(enum igt_suspend_state state)
 	snprintf(cmd, sizeof(cmd), "rtcwake -s %d -m %s ",
 		 delay, suspend_state_name[state]);
 	ret = igt_system(cmd);
-	igt_assert_f(ret == 0,
-		     "rtcwake failed with %i\n"
-		     "Check dmesg for further details.\n",
-		     ret);
+	if (ret) {
+		const char *path = "suspend_stats";
+		char *info;
+		int dir;
+
+		igt_warn("rtcwake failed with %i\n"
+			 "Check dmesg for further details.\n",
+			 ret);
+
+		dir = open(igt_debugfs_mount(), O_RDONLY);
+		info = igt_sysfs_get(dir, path);
+		close(dir);
+		if (info) {
+			igt_debug("%s:\n%s\n", path, info);
+			free(info);
+		}
+	}
+	igt_assert_eq(ret, 0);
 }
 
 static void suspend_via_sysfs(int power_dir, enum igt_suspend_state state)
-- 
2.15.0



More information about the Intel-gfx mailing list