[igt-dev] [PATCH i-g-t] tests/kms_frontbuffer_tracking: Reduce fbc status spam, v2.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Mar 15 11:26:55 UTC 2018


When FBC cannot be enabled in one of the tests, we get a lot of repeated
spam at DEBUG level, which overwrites any good debug level data that you
can hope to get out of the test.

When running at the debug level, output FBC info only if changed from last
time, so we don't get the repeated spam.

This makes the debug info from CI slightly more useful.

Changes since v1:
- Clear last_fbc_buf in fbc_wait_until_enabled.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
 lib/igt_core.c                   |  2 +-
 tests/kms_frontbuffer_tracking.c | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 5092a3f035c7..6cae073b80f9 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -2313,7 +2313,7 @@ err:
  */
 int igt_system_quiet(const char *command)
 {
-	int stderr_fd_copy, stdout_fd_copy, status, nullfd;
+	int stderr_fd_copy = -1, stdout_fd_copy = -1, status, nullfd;
 
 	/* redirect */
 	if ((nullfd = open("/dev/null", O_WRONLY)) == -1)
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 06b34ddb90b4..2b85392dfa4b 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -755,12 +755,24 @@ static int __debugfs_write(const char *param, char *buf, int len)
 #define debugfs_read(p, arr) __debugfs_read(p, arr, sizeof(arr))
 #define debugfs_write(p, arr) __debugfs_write(p, arr, sizeof(arr))
 
+static char last_fbc_buf[128];
+
 static bool fbc_is_enabled(int lvl)
 {
 	char buf[128];
+	bool print = true;
 
 	debugfs_read("i915_fbc_status", buf);
-	igt_log(IGT_LOG_DOMAIN, lvl, "fbc_is_enabled()?\n%s", buf);
+	if (lvl != IGT_LOG_DEBUG)
+		last_fbc_buf[0] = '\0';
+	else if (strcmp(last_fbc_buf, buf))
+		strcpy(last_fbc_buf, buf);
+	else
+		print = false;
+
+	if (print)
+		igt_log(IGT_LOG_DOMAIN, lvl, "fbc_is_enabled()?\n%s", buf);
+
 	return strstr(buf, "FBC enabled\n");
 }
 
@@ -945,6 +957,8 @@ static bool fbc_stride_not_supported(void)
 
 static bool fbc_wait_until_enabled(void)
 {
+	last_fbc_buf[0] = '\0';
+
 	return igt_wait(fbc_is_enabled(IGT_LOG_DEBUG), 2000, 1);
 }
 
-- 
2.16.2



More information about the igt-dev mailing list