Skip to contentSkip to conversation

tests/kms_frontbuffer_tracking: Reduce fbc status spam.

PATCH In review Maarten Lankhorst 3 participants 8 messages Mar 15, 2018 Library code

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tests/kms_frontbuffer_tracking: Reduce fbc status spam.

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.

---
 tests/kms_frontbuffer_tracking.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
tests/kms_frontbuffer_tracking.c +12 -1
index 06b34ddb90b4..aa138d5ea13f 100644
@@ -758,9 +758,20 @@ static int __debugfs_write(const char *param, char *buf, int len)
 static bool fbc_is_enabled(int lvl)
 {
 	char buf[128];
+	static char last_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_buf[0] = '\0';
+	else if (strcmp(last_buf, buf))
+		strcpy(last_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");
 }
 
Signature · 6 lines
2.16.2

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#1 lore raw

Quoting Maarten Lankhorst (2018-03-15 11:00:08)

Quoted 19 lines

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.

---
 tests/kms_frontbuffer_tracking.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
tests/kms_frontbuffer_tracking.c +0 -0
index 06b34ddb90b4..aa138d5ea13f 100644

tests/kms_frontbuffer_tracking.c static int __debugfs_write(const char *param, char *buf, int len) · line 766

Quoted 10 lines
tests/kms_frontbuffer_tracking.c +4 -1
@@ -758,9 +758,20 @@ static int __debugfs_write(const char *param, char *buf, int len)
 static bool fbc_is_enabled(int lvl)
 {
        char buf[128];
+       static char last_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_buf[0] = '\0';

I think you also want to reset between passes, so that you have a complete log for one wait.
-Chris
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#2 lore raw

PATCH 1/1 tests/kms_frontbuffer_tracking: Reduce fbc status spam, v2.

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.

---
 lib/igt_core.c                   |  2 +-
 tests/kms_frontbuffer_tracking.c | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)
lib/igt_core.c +1 -1
index 5092a3f035c7..6cae073b80f9 100644
@@ -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)
tests/kms_frontbuffer_tracking.c +15 -1
index 06b34ddb90b4..2b85392dfa4b 100644
@@ -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);
 }
 
Signature · 6 lines
2.16.2

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by on v1 1/1
#3 lore raw

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

Quoting Maarten Lankhorst (2018-03-15 11:26:55)

Quoted 45 lines

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.

---

tests/kms_frontbuffer_tracking.c +13 -1
index 06b34ddb90b4..2b85392dfa4b 100644
@@ -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");
 }
 

tests/kms_frontbuffer_tracking.c static bool fbc_stride_not_supported(void) · line 963

Quoted 7 lines
tests/kms_frontbuffer_tracking.c +2 -0
@@ -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);
 }

Without the stray,

-Chris
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#4 lore raw

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

Op 15-03-18 om 12:33 schreef Chris Wilson:

Quoted 54 lines

Quoting Maarten Lankhorst (2018-03-15 11:26:55)

Quoted 45 lines

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.

---

tests/kms_frontbuffer_tracking.c +13 -1
index 06b34ddb90b4..2b85392dfa4b 100644
@@ -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");
 }
 

tests/kms_frontbuffer_tracking.c static bool fbc_stride_not_supported(void) · line 963

Quoted 7 lines
tests/kms_frontbuffer_tracking.c +2 -0
@@ -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);
 }

Without the stray,

Quoted 2 lines

-Chris

Thanks, pushed. :)

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#5 lore raw

[igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_frontbuffer_tracking: Reduce fbc status spam. (rev2)

In reply to Maarten Lankhorst
== Series Details ==

== Series Details ==

Series: tests/kms_frontbuffer_tracking: Reduce fbc status spam. (rev2)
URL : https://patchwork.freedesktop.org/series/40022/
State : failure

== Summary ==

IGT patchset tested on top of latest successful build 5c146fcff2d51ea426efc538599013e887fe456b tests/kms_pipe_crc_basic: Remove legacy crc tests

with latest DRM-Tip kernel build CI_DRM_3933
95626f201526 drm-tip: 2018y-03m-15d-11h-01m-14s UTC integration manifest

No testlist changes.

---- Possible new issues:

Test gem_exec_fence:

        Subgroup nb-await-default:
                pass       -> DMESG-FAIL (fi-pnv-d510)
fi-bdw-5557u     total:285  pass:264  dwarn:0   dfail:0   fail:0   skip:21  time:437s
fi-bdw-gvtdvm    total:285  pass:261  dwarn:0   dfail:0   fail:0   skip:24  time:444s
fi-blb-e6850     total:285  pass:220  dwarn:1   dfail:0   fail:0   skip:64  time:383s
fi-bsw-n3050     total:285  pass:239  dwarn:0   dfail:0   fail:0   skip:46  time:540s
fi-bwr-2160      total:285  pass:180  dwarn:0   dfail:0   fail:0   skip:105 time:298s
fi-bxt-j4205     total:285  pass:256  dwarn:0   dfail:0   fail:0   skip:29  time:514s
fi-byt-j1900     total:285  pass:250  dwarn:0   dfail:0   fail:0   skip:35  time:518s
fi-byt-n2820     total:285  pass:246  dwarn:0   dfail:0   fail:0   skip:39  time:503s
fi-cfl-8700k     total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:409s
fi-cfl-s2        total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:584s
fi-cfl-u         total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:513s
fi-cnl-drrs      total:285  pass:254  dwarn:3   dfail:0   fail:0   skip:28  time:535s
fi-cnl-y3        total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:592s
fi-elk-e7500     total:285  pass:226  dwarn:0   dfail:0   fail:0   skip:59  time:430s
fi-gdg-551       total:285  pass:176  dwarn:0   dfail:0   fail:1   skip:108 time:320s
fi-glk-1         total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:538s
fi-hsw-4770      total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:402s
fi-ilk-650       total:285  pass:225  dwarn:0   dfail:0   fail:0   skip:60  time:421s
fi-ivb-3520m     total:285  pass:256  dwarn:0   dfail:0   fail:0   skip:29  time:474s
fi-ivb-3770      total:285  pass:252  dwarn:0   dfail:0   fail:0   skip:33  time:428s
fi-kbl-7500u     total:285  pass:260  dwarn:1   dfail:0   fail:0   skip:24  time:475s
fi-kbl-7567u     total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:468s
fi-kbl-r         total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:515s
fi-pnv-d510      total:285  pass:218  dwarn:1   dfail:1   fail:0   skip:65  time:673s
fi-skl-6260u     total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:449s
fi-skl-6600u     total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:528s
fi-skl-6700hq    total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:550s
fi-skl-6700k2    total:285  pass:261  dwarn:0   dfail:0   fail:0   skip:24  time:499s
fi-skl-6770hq    total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:505s
fi-skl-guc       total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:439s
fi-skl-gvtdvm    total:285  pass:262  dwarn:0   dfail:0   fail:0   skip:23  time:447s
fi-snb-2520m     total:285  pass:245  dwarn:0   dfail:0   fail:0   skip:40  time:571s
fi-snb-2600      total:285  pass:245  dwarn:0   dfail:0   fail:0   skip:40  time:403s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1133/issues.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#6 lore raw

[igt-dev] ✓ Fi.CI.BAT: success for tests/kms_frontbuffer_tracking: Reduce fbc status spam. (rev2)

In reply to Maarten Lankhorst
== Series Details ==

== Series Details ==

Series: tests/kms_frontbuffer_tracking: Reduce fbc status spam. (rev2)
URL : https://patchwork.freedesktop.org/series/40022/
State : success

== Summary ==

IGT patchset tested on top of latest successful build 5c146fcff2d51ea426efc538599013e887fe456b tests/kms_pipe_crc_basic: Remove legacy crc tests

with latest DRM-Tip kernel build CI_DRM_3933
95626f201526 drm-tip: 2018y-03m-15d-11h-01m-14s UTC integration manifest

No testlist changes.

---- Known issues:

Test gem_mmap_gtt:

        Subgroup basic-small-bo-tiledx:
                fail       -> PASS       (fi-gdg-551) fdo#102575

fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575

fi-bdw-5557u     total:285  pass:264  dwarn:0   dfail:0   fail:0   skip:21  time:431s
fi-bdw-gvtdvm    total:285  pass:261  dwarn:0   dfail:0   fail:0   skip:24  time:439s
fi-blb-e6850     total:285  pass:220  dwarn:1   dfail:0   fail:0   skip:64  time:379s
fi-bsw-n3050     total:285  pass:239  dwarn:0   dfail:0   fail:0   skip:46  time:542s
fi-bwr-2160      total:285  pass:180  dwarn:0   dfail:0   fail:0   skip:105 time:299s
fi-bxt-j4205     total:285  pass:256  dwarn:0   dfail:0   fail:0   skip:29  time:515s
fi-byt-j1900     total:285  pass:250  dwarn:0   dfail:0   fail:0   skip:35  time:520s
fi-byt-n2820     total:285  pass:246  dwarn:0   dfail:0   fail:0   skip:39  time:504s
fi-cfl-8700k     total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:407s
fi-cfl-s2        total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:573s
fi-cfl-u         total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:513s
fi-cnl-drrs      total:285  pass:254  dwarn:3   dfail:0   fail:0   skip:28  time:516s
fi-cnl-y3        total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:581s
fi-elk-e7500     total:285  pass:226  dwarn:0   dfail:0   fail:0   skip:59  time:425s
fi-gdg-551       total:285  pass:177  dwarn:0   dfail:0   fail:0   skip:108 time:320s
fi-glk-1         total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:538s
fi-hsw-4770      total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:408s
fi-ilk-650       total:285  pass:225  dwarn:0   dfail:0   fail:0   skip:60  time:419s
fi-ivb-3520m     total:285  pass:256  dwarn:0   dfail:0   fail:0   skip:29  time:464s
fi-ivb-3770      total:285  pass:252  dwarn:0   dfail:0   fail:0   skip:33  time:430s
fi-kbl-7500u     total:285  pass:260  dwarn:1   dfail:0   fail:0   skip:24  time:480s
fi-kbl-7567u     total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:465s
fi-kbl-r         total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:515s
fi-pnv-d510      total:285  pass:219  dwarn:1   dfail:0   fail:0   skip:65  time:652s
fi-skl-6260u     total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:439s
fi-skl-6600u     total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:534s
fi-skl-6700hq    total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:538s
fi-skl-6700k2    total:285  pass:261  dwarn:0   dfail:0   fail:0   skip:24  time:509s
fi-skl-6770hq    total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:500s
fi-skl-guc       total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:426s
fi-skl-gvtdvm    total:285  pass:262  dwarn:0   dfail:0   fail:0   skip:23  time:446s
fi-snb-2520m     total:285  pass:245  dwarn:0   dfail:0   fail:0   skip:40  time:573s
fi-snb-2600      total:285  pass:245  dwarn:0   dfail:0   fail:0   skip:40  time:409s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1136/issues.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#7 lore raw

[igt-dev] ✓ Fi.CI.IGT: success for tests/kms_frontbuffer_tracking: Reduce fbc status spam. (rev2)

In reply to Maarten Lankhorst
== Series Details ==

== Series Details ==

Series: tests/kms_frontbuffer_tracking: Reduce fbc status spam. (rev2)
URL : https://patchwork.freedesktop.org/series/40022/
State : success

== Summary ==

---- Known issues:

Test gem_eio:

        Subgroup in-flight-contexts:
                incomplete -> PASS       (shard-apl) fdo#105341 +1
Test kms_rotation_crc:
        Subgroup sprite-rotation-180:
                pass       -> FAIL       (shard-snb) fdo#105185
Test kms_setmode:
        Subgroup basic:
                fail       -> PASS       (shard-hsw) fdo#99912

fdo#105341 https://bugs.freedesktop.org/show_bug.cgi?id=105341
fdo#105185 https://bugs.freedesktop.org/show_bug.cgi?id=105185
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912

shard-apl        total:3442 pass:1815 dwarn:1   dfail:0   fail:7   skip:1619 time:12991s
shard-hsw        total:3442 pass:1769 dwarn:1   dfail:0   fail:0   skip:1671 time:11877s
shard-snb        total:3442 pass:1357 dwarn:1   dfail:0   fail:3   skip:2081 time:7244s

Blacklisted hosts:
shard-kbl total:2168 pass:1223 dwarn:1 dfail:0 fail:6 skip:937 time:5680s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1136/shards.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev