test/perf: Add test to verify OA TLB invalidation
PATCH 1/1 test/perf: Add test to verify OA TLB invalidation
Run 2 polling tests back to back and compare the number of OA reports captured. Make sure the number of reports are almost same.
--- tests/perf.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+)
tests/perf.c +97 -0
@@ -2265,6 +2265,97 @@ test_polling(void)__perf_close (stream_fd); } +static int +num_valid_reports_captured (struct drm_i915_perf_open_param *param) +{ +uint8_t buf[1024 *1024 ]; +int64_t tick_ns =1000000000 /sysconf (_SC_CLK_TCK); +int64_t test_duration_ns = tick_ns *5 *100 ;/* 5 seconds */ +int64_t start, end; +int num_reports =0 ; + + stream_fd =__perf_open (drm_fd, param, true); + +igt_debug ("tick length = %dns, test duration = %" PRIu64"ns\n" , + (int )tick_ns, test_duration_ns); + + start =get_time (); +do_ioctl (stream_fd,I915_PERF_IOCTL_ENABLE ,0 ); +for (/* nop */ ; ((end =get_time ()) - start) < test_duration_ns;/* nop */ ) { +struct pollfd pollfd = { .fd = stream_fd, .events =POLLIN }; +struct drm_i915_perf_record_header *header; +int ret; + +while ((ret =poll (&pollfd,1 ,-1 )) <0 && + errno ==EINTR ) + ; +igt_assert_eq (ret,1 ); +igt_assert (pollfd.revents &POLLIN ); + +while ((ret =read (stream_fd, buf,sizeof (buf))) <0 && + errno ==EINTR ) + ; + +/* poll checks if the tail has advanced on the OA buffer, but +* does not check if the reports are valid. On read, the driver +* checks if the reports are valid or not. if none of the +* reports are valid, it returns EAGAIN. EAGAIN should also +* suffice to show that the TLB invalidation failed, but we will +* try for a more concrete check. Ignore read errors here. +*/ +if (ret <0 ) +continue ; + +for (int offset =0 ; offset < ret; offset += header->size) { + header = (void *)(buf + offset); + +if (header->type ==DRM_I915_PERF_RECORD_SAMPLE ) { +uint32_t *report = (void *)(header +1 ); + +if ((report[0 ] >>OAREPORT_REASON_SHIFT ) & +OAREPORT_REASON_TIMER ) + num_reports++; + } + } + } +__perf_close (stream_fd); + +return num_reports; +} + +static void +gen12_test_oa_tlb_invalidate (void ) +{ +int oa_exponent =max_oa_exponent_for_period_lte (30000000 ); +uint64_t properties[] = { +DRM_I915_PERF_PROP_SAMPLE_OA , true, + +DRM_I915_PERF_PROP_OA_METRICS_SET , test_set->perf_oa_metrics_set, +DRM_I915_PERF_PROP_OA_FORMAT , test_set->perf_oa_format, +DRM_I915_PERF_PROP_OA_EXPONENT , oa_exponent, + }; +struct drm_i915_perf_open_param param = { + .flags =I915_PERF_FLAG_FD_CLOEXEC | +I915_PERF_FLAG_DISABLED | +I915_PERF_FLAG_FD_NONBLOCK , + .num_properties =sizeof (properties) /16 , + .properties_ptr =to_user_pointer (properties), + }; +int num_reports1, num_reports2; + +/* Capture reports for 5 seconds twice and then make sure you get around +* the same number of reports. In the case of failure, the number of +* reports will vary largely since the beginning of the OA buffer +* will have invalid entries. +*/ + num_reports1 =num_valid_reports_captured (¶m); + num_reports2 =num_valid_reports_captured (¶m); + +igt_debug ("num_reports1 = %d, num_reports2 = %d\n" , num_reports1, num_reports2); +igt_assert (num_reports2 >0.95 * num_reports1); +} + +static void test_buffer_fill (void ) {
@@ -4622,6 +4713,12 @@ igt_maingen8_test_single_ctx_render_target_writes_a_counter (); } +igt_describe ("Test OA TLB invalidate" ); + igt_subtest("gen12-oa-tlb-invalidate") { +igt_require (intel_gen (devid) >=12 ); +gen12_test_oa_tlb_invalidate (); + } +igt_describe ("Measure performance for a specific context using OAR in Gen 12" ); igt_subtest("gen12-unprivileged-single-ctx-counters") {igt_require (intel_gen (devid) >=12 );
Signature · 6 lines
2.17.1 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Quoted 32 lines · Umesh Nerlige Ramappa
Run 2 polling tests back to back and compare the number of OA reports captured. Make sure the number of reports are almost same.
Signed-off-by Umesh Nerlige Ramappa <[email protected]>--- tests/perf.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+)tests/perf.c +16
-0@@ -2265,6 +2265,97 @@ test_polling(void)__perf_close (stream_fd); } +static int +num_valid_reports_captured (struct drm_i915_perf_open_param *param) +{ +uint8_t buf[1024 *1024 ]; +int64_t tick_ns =1000000000 /sysconf (_SC_CLK_TCK); +int64_t test_duration_ns = tick_ns *5 *100 ;/* 5 seconds */ +int64_t start, end; +int num_reports =0 ; + + stream_fd =__perf_open (drm_fd, param, true); + +igt_debug ("tick length = %dns, test duration = %" PRIu64"ns\n" , + (int )tick_ns, test_duration_ns); + + start =get_time (); +do_ioctl (stream_fd,I915_PERF_IOCTL_ENABLE ,0 );
tests/perf.c test_polling(void) · line 2293
Quoted 10 lines
tests/perf.c +10
-0+for (/* nop */ ; ((end =get_time ()) - start) < test_duration_ns;/* nop */ ) { +struct pollfd pollfd = { .fd = stream_fd, .events =POLLIN }; +struct drm_i915_perf_record_header *header; +int ret; + +while ((ret =poll (&pollfd,1 ,-1 )) <0 && + errno ==EINTR ) + ; +igt_assert_eq (ret,1 ); +igt_assert (pollfd.revents &POLLIN );
I guess you can drop the poll() if you drop the I915_PERF_FLAG_FD_NONBLOCK below.
That way your reads are blocking.
Or if you want more accuracy, you can compute the amount of poll() timeout based of test_duration_ns and exit the loop earlier.
Quoted 47 lines
tests/perf.c +47
-0+ +while ((ret =read (stream_fd, buf,sizeof (buf))) <0 && + errno ==EINTR ) + ; + +/* poll checks if the tail has advanced on the OA buffer, but +* does not check if the reports are valid. On read, the driver +* checks if the reports are valid or not. if none of the +* reports are valid, it returns EAGAIN. EAGAIN should also +* suffice to show that the TLB invalidation failed, but we will +* try for a more concrete check. Ignore read errors here. +*/ +if (ret <0 ) +continue ; + +for (int offset =0 ; offset < ret; offset += header->size) { + header = (void *)(buf + offset); + +if (header->type ==DRM_I915_PERF_RECORD_SAMPLE ) { +uint32_t *report = (void *)(header +1 ); + +if ((report[0 ] >>OAREPORT_REASON_SHIFT ) & +OAREPORT_REASON_TIMER ) + num_reports++; + } + } + } +__perf_close (stream_fd); + +return num_reports; +} + +static void +gen12_test_oa_tlb_invalidate (void ) +{ +int oa_exponent =max_oa_exponent_for_period_lte (30000000 ); +uint64_t properties[] = { +DRM_I915_PERF_PROP_SAMPLE_OA , true, + +DRM_I915_PERF_PROP_OA_METRICS_SET , test_set->perf_oa_metrics_set, +DRM_I915_PERF_PROP_OA_FORMAT , test_set->perf_oa_format, +DRM_I915_PERF_PROP_OA_EXPONENT , oa_exponent, + }; +struct drm_i915_perf_open_param param = { + .flags =I915_PERF_FLAG_FD_CLOEXEC | +I915_PERF_FLAG_DISABLED | +I915_PERF_FLAG_FD_NONBLOCK ,
tests/perf.c test_polling(void) · line 2350
Quoted 10 lines
tests/perf.c +10
-0+ .num_properties = sizeof(properties) / 16, + .properties_ptr = to_user_pointer(properties), + }; +int num_reports1, num_reports2; + +/* Capture reports for 5 seconds twice and then make sure you get around +* the same number of reports. In the case of failure, the number of +* reports will vary largely since the beginning of the OA buffer +* will have invalid entries. +*/
I thought you were also noticing corruption in the data.
Seems like it would be an easier characterization of the failure than the number of reports (since the number can vary for a other reasons).
What do you think?
-Lionel
Quoted 14 lines
tests/perf.c +8
-0+ num_reports1 =num_valid_reports_captured (¶m); + num_reports2 =num_valid_reports_captured (¶m); + +igt_debug ("num_reports1 = %d, num_reports2 = %d\n" , num_reports1, num_reports2); +igt_assert (num_reports2 >0.95 * num_reports1); +} + +static void test_buffer_fill (void ) {@@ -4622,6 +4713,12 @@ igt_maingen8_test_single_ctx_render_target_writes_a_counter (); }
tests/perf.c igt_main · line 4724
Quoted 10 lines
tests/perf.c +6
-0+igt_describe ("Test OA TLB invalidate" ); + igt_subtest("gen12-oa-tlb-invalidate") { +igt_require (intel_gen (devid) >=12 ); +gen12_test_oa_tlb_invalidate (); + } +igt_describe ("Measure performance for a specific context using OAR in Gen 12" ); igt_subtest("gen12-unprivileged-single-ctx-counters") {igt_require (intel_gen (devid) >=12 );
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Quoted 46 lines · Lionel Landwerlin
Quoted 31 lines · Umesh Nerlige Ramappa
Run 2 polling tests back to back and compare the number of OA reports captured. Make sure the number of reports are almost same.
Signed-off-by Umesh Nerlige Ramappa <[email protected]>--- tests/perf.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+)tests/perf.c +16
-0@@ -2265,6 +2265,97 @@ test_polling(void)__perf_close (stream_fd); } +static int +num_valid_reports_captured (struct drm_i915_perf_open_param *param) +{ +uint8_t buf[1024 *1024 ]; +int64_t tick_ns =1000000000 /sysconf (_SC_CLK_TCK); +int64_t test_duration_ns = tick_ns *5 *100 ;/* 5 seconds */ +int64_t start, end; +int num_reports =0 ; + + stream_fd =__perf_open (drm_fd, param, true); + +igt_debug ("tick length = %dns, test duration = %" PRIu64"ns\n" , + (int )tick_ns, test_duration_ns); + + start =get_time (); +do_ioctl (stream_fd,I915_PERF_IOCTL_ENABLE ,0 );tests/perf.c test_polling(void) · line 2292
Quoted 10 lines
tests/perf.c +10
-0+for (/* nop */ ; ((end =get_time ()) - start) < test_duration_ns;/* nop */ ) { +struct pollfd pollfd = { .fd = stream_fd, .events =POLLIN }; +struct drm_i915_perf_record_header *header; +int ret; + +while ((ret =poll (&pollfd,1 ,-1 )) <0 && + errno ==EINTR ) + ; +igt_assert_eq (ret,1 ); +igt_assert (pollfd.revents &POLLIN );I guess you can drop the
poll()if you drop theI915_PERF_FLAG_FD_NONBLOCKbelow.
Quoted 5 lines
That way your reads are blocking.
Or if you want more accuracy, you can compute the amount of
poll()timeout based oftest_duration_nsand exit the loop earlier.
In the failure case, I actually see zero valid reports in 5 seconds, so the blocking read would block endlessly. Poll will instead return indicating that reports are available (even if reports are invalid).
I think adding a poll timeout based on the test duration is a good idea in case the poll behavior changes in future.
Quoted 53 lines
Quoted 53 lines
tests/perf.c +52
-0+ +while ((ret =read (stream_fd, buf,sizeof (buf))) <0 && + errno ==EINTR ) + ; + +/* poll checks if the tail has advanced on the OA buffer, but +* does not check if the reports are valid. On read, the driver +* checks if the reports are valid or not. if none of the +* reports are valid, it returns EAGAIN. EAGAIN should also +* suffice to show that the TLB invalidation failed, but we will +* try for a more concrete check. Ignore read errors here. +*/ +if (ret <0 ) +continue ; + +for (int offset =0 ; offset < ret; offset += header->size) { + header = (void *)(buf + offset); + +if (header->type ==DRM_I915_PERF_RECORD_SAMPLE ) { +uint32_t *report = (void *)(header +1 ); + +if ((report[0 ] >>OAREPORT_REASON_SHIFT ) & +OAREPORT_REASON_TIMER ) + num_reports++; + } + } + } +__perf_close (stream_fd); + +return num_reports; +} + +static void +gen12_test_oa_tlb_invalidate (void ) +{ +int oa_exponent =max_oa_exponent_for_period_lte (30000000 ); +uint64_t properties[] = { +DRM_I915_PERF_PROP_SAMPLE_OA , true, + +DRM_I915_PERF_PROP_OA_METRICS_SET , test_set->perf_oa_metrics_set, +DRM_I915_PERF_PROP_OA_FORMAT , test_set->perf_oa_format, +DRM_I915_PERF_PROP_OA_EXPONENT , oa_exponent, + }; +struct drm_i915_perf_open_param param = { + .flags =I915_PERF_FLAG_FD_CLOEXEC | +I915_PERF_FLAG_DISABLED | +I915_PERF_FLAG_FD_NONBLOCK , + .num_properties =sizeof (properties) /16 , + .properties_ptr =to_user_pointer (properties), + }; +int num_reports1, num_reports2; +
Quoted 8 lines
tests/perf.c test_polling(void) · line 2350
Quoted 5 lines
tests/perf.c +5
-0+/* Capture reports for 5 seconds twice and then make sure you get around +* the same number of reports. In the case of failure, the number of +* reports will vary largely since the beginning of the OA buffer +* will have invalid entries. +*/ I thought you were also noticing corruption in the data.
I don't see corruption of OA reports. Just missing reports in the beginning of OA buffer. All reports are zeroed out.
When trying the interrupt patches, I saw a random reboot with blocking-with-interrupt (or any of the other subtests that ran multiple cases). My theory was that OA is writing reports to oa buffer memory from previous iteration. That failure/reboot does not occur anymore with this patch (invalidating tlb).
Thanks,
Umesh
Quoted 24 lines
Seems like it would be an easier characterization of the failure than the number of reports (since the number can vary for a other reasons).
What do you think?
-Lionel
Quoted 15 lines
tests/perf.c +9
-0+ num_reports1 =num_valid_reports_captured (¶m); + num_reports2 =num_valid_reports_captured (¶m); + +igt_debug ("num_reports1 = %d, num_reports2 = %d\n" , num_reports1, num_reports2); +igt_assert (num_reports2 >0.95 * num_reports1); +} + +static void test_buffer_fill (void ) {@@ -4622,6 +4713,12 @@ igt_maingen8_test_single_ctx_render_target_writes_a_counter (); } +igt_describe ("Test OA TLB invalidate" );
Quoted 10 lines
tests/perf.c igt_main · line 4724
Quoted 8 lines
tests/perf.c +5
-0+ igt_subtest("gen12-oa-tlb-invalidate") { +igt_require (intel_gen (devid) >=12 ); +gen12_test_oa_tlb_invalidate (); + } +igt_describe ("Measure performance for a specific context using OAR in Gen 12" ); igt_subtest("gen12-unprivileged-single-ctx-counters") {igt_require (intel_gen (devid) >=12 );
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Quoted 125 lines · Umesh Nerlige Ramappa
Quoted 47 lines · Lionel Landwerlin
Quoted 32 lines · Umesh Nerlige Ramappa
Run 2 polling tests back to back and compare the number of OA reports captured. Make sure the number of reports are almost same.
Signed-off-by Umesh Nerlige Ramappa <[email protected]>---
tests/perf.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++1 file changed, 97 insertions(+)tests/perf.c +17
-0@@ -2265,6 +2265,97 @@ test_polling(void) __perf_close(stream_fd); } +static int +num_valid_reports_captured (struct drm_i915_perf_open_param *param) +{ + uint8_t buf[1024 * 1024]; + int64_t tick_ns = 1000000000 / sysconf(_SC_CLK_TCK); + int64_t test_duration_ns = tick_ns * 5 * 100; /* 5 seconds */ + int64_t start, end; + int num_reports = 0; + + stream_fd = __perf_open(drm_fd, param, true); + + igt_debug("tick length = %dns, test duration = %"PRIu64"ns\n", + (int)tick_ns, test_duration_ns); + + start = get_time(); + do_ioctl(stream_fd, I915_PERF_IOCTL_ENABLE, 0); + for (/* nop */; ((end = get_time()) - start) <tests/perf.c test_polling(void) · line 2293
Quoted 10 lines
tests/perf.c +9
-0test_duration_ns; /* nop */) { + struct pollfd pollfd = { .fd = stream_fd, .events = POLLIN }; + struct drm_i915_perf_record_header *header; + int ret; + + while ((ret = poll(&pollfd, 1, -1)) < 0 && + errno == EINTR) + ; + igt_assert_eq(ret, 1); + igt_assert(pollfd.revents & POLLIN);I guess you can drop the
poll()if you drop theI915_PERF_FLAG_FD_NONBLOCKbelow.Quoted 5 lines
That way your reads are blocking.
Or if you want more accuracy, you can compute the amount of
poll()timeout based oftest_duration_nsand exit the loop earlier.In the failure case, I actually see zero valid reports in 5 seconds, so the blocking read would block endlessly. Poll will instead return indicating that reports are available (even if reports are invalid).
I think adding a poll timeout based on the test duration is a good idea in case the poll behavior changes in future.
Quoted 58 lines
Quoted 58 lines
tests/perf.c +7
-0+ + while ((ret = read(stream_fd, buf, sizeof(buf))) < 0 && + errno == EINTR) + ; + + /* poll checks if the tail has advanced on the OA buffer, but +* does not check if the reports are valid. On read, the driver
+ * checks if the reports are valid or not. if none of the + * reports are valid, it returns EAGAIN. EAGAIN should also + * suffice to show that the TLB invalidation failed, but we will
+ * try for a more concrete check. Ignore read errors here. + */
+ if (ret < 0)
+ continue;tests/perf.c +26
-0+ + for (int offset = 0; offset < ret; offset += header->size) { + header = (void *)(buf + offset); + + if (header->type == DRM_I915_PERF_RECORD_SAMPLE) { + uint32_t *report = (void *)(header + 1); + + if ((report[0] >> OAREPORT_REASON_SHIFT) & + OAREPORT_REASON_TIMER) + num_reports++; + } + } + } + __perf_close(stream_fd); + + return num_reports; +} + +static void +gen12_test_oa_tlb_invalidate (void ) +{ + int oa_exponent = max_oa_exponent_for_period_lte(30000000); + uint64_t properties[] = { + DRM_I915_PERF_PROP_SAMPLE_OA, true, + + DRM_I915_PERF_PROP_OA_METRICS_SET,
test_set->perf_oa_metrics_set,
+DRM_I915_PERF_PROP_OA_FORMAT,test_set->perf_oa_format, +DRM_I915_PERF_PROP_OA_EXPONENT,oa_exponent,
+ };
+ structdrm_i915_perf_open_paramparam = {
+ .flags =I915_PERF_FLAG_FD_CLOEXEC|
+I915_PERF_FLAG_DISABLED|
+I915_PERF_FLAG_FD_NONBLOCK,
+ .num_properties = sizeof(properties) / 16,
+ .properties_ptr =to_user_pointer(properties), + };
+ intnum_reports1,num_reports2;
+
+ /* Capture reports for 5 seconds twice and then make sure you get aroundQuoted 8 lines
Quoted 5 lines
+ * the same number of reports. In the case of failure, the number of
+ * reports will vary largely since the beginning of the OA buffer + * will have invalid entries.
+ */I thought you were also noticing corruption in the data.
Quoted 6 lines
I don't see corruption of OA reports. Just missing reports in the beginning of OA buffer. All reports are zeroed out.
When trying the interrupt patches, I saw a random reboot with blocking-with-interrupt (or any of the other subtests that ran multiple cases). My theory was that OA is writing reports to oa buffer memory from previous iteration. That failure/reboot does not occur anymore with this patch (invalidating tlb).
Thanks,
Umesh
Thanks for the explanation.
-Lionel
Quoted 28 lines
Quoted 28 lines
Seems like it would be an easier characterization of the failure than the number of reports (since the number can vary for a other reasons).
What do you think?
-Lionel
Quoted 18 lines
+
num_reports1=num_valid_reports_captured(¶m); +num_reports2=num_valid_reports_captured(¶m); +
+igt_debug("num_reports1 = %d, num_reports2 = %d\n", num_reports1, num_reports2);
+igt_assert(num_reports2 > 0.95 * num_reports1);tests/perf.c +3
-0+} + +static void
test_buffer_fill(void)
{tests/perf.c +3
-0@@ -4622,6 +4713,12 @@ igt_maingen8_test_single_ctx_render_target_writes_a_counter (); } + igt_describe("Test OA TLB invalidate"); + igt_subtest("gen12-oa-tlb-invalidate") { + igt_require(intel_gen(devid) >= 12);
Quoted 8 lines
Quoted 8 lines
tests/perf.c igt_main · line 4724
Quoted 6 lines
tests/perf.c +3
-0+ gen12_test_oa_tlb_invalidate(); + } + igt_describe("Measure performance for a specific context using OAR in Gen 12"); igt_subtest("gen12-unprivileged-single-ctx-counters") { igt_require(intel_gen(devid) >= 12);
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for test/perf: Add test to verify OA TLB invalidation
In reply to Umesh Nerlige Ramappa== Series Details ==
== Series Details ==
Series: test/perf: Add test to verify OA TLB invalidation
URL : https://patchwork.freedesktop.org/series/74477/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8106 -> IGTPW_4284
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/index.html
Known issues
------------
Here are the changes found in IGTPW_4284 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s4-devices:
- fi-tgl-y: [PASS][1] -> [FAIL][2] ([CI#94])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/fi-tgl-y/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/fi-tgl-y/igt@[email protected]
* igt@kms_flip@basic-flip-vs-dpms:
- fi-skl-6770hq: [PASS][3] -> [SKIP][4] ([fdo#109271]) +24 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/fi-skl-6770hq/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/fi-skl-6770hq/igt@[email protected]
* igt@prime_vgem@basic-sync-default:
- fi-tgl-y: [PASS][5] -> [DMESG-WARN][6] ([CI#94] / [i915#402]) +2 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/fi-tgl-y/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/fi-tgl-y/igt@[email protected]
#### Possible fixes ####
* igt@gem_flink_basic@bad-open:
- fi-tgl-y: [DMESG-WARN][7] ([CI#94] / [i915#402]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/fi-tgl-y/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/fi-tgl-y/igt@[email protected]
[CI#94]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/94
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
Participating hosts (44 -> 44)
------------------------------
Additional (5): fi-bdw-5557u fi-kbl-7500u fi-cfl-8109u fi-skl-6600u fi-snb-2600
Missing (5): fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5504 -> IGTPW_4284
CI-20190529: 20190529
CI_DRM_8106: 5b0076e8066ea8218e7857ee1aa28b0670acde94 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4284: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/index.html
IGT_5504: d6788bf0404f76b66170e18eb26c85004b5ccb25 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@perf@gen12-oa-tlb-invalidate
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/index.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.IGT: success for test/perf: Add test to verify OA TLB invalidation
In reply to Umesh Nerlige Ramappa== Series Details ==
== Series Details ==
Series: test/perf: Add test to verify OA TLB invalidation
URL : https://patchwork.freedesktop.org/series/74477/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8106_full -> IGTPW_4284_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_4284_full:
### IGT changes ###
#### Possible regressions ####
* {igt@perf@gen12-oa-tlb-invalidate} (NEW):
- shard-tglb: NOTRUN -> [FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-tglb8/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][2]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb5/igt@[email protected]
New tests
---------
New tests have been introduced between CI_DRM_8106_full and IGTPW_4284_full:
### New IGT tests (1) ###
* igt@perf@gen12-oa-tlb-invalidate:
- Statuses : 1 fail(s) 4 skip(s)
- Exec time: [0.0, 10.10] s
Known issues
------------
Here are the changes found in IGTPW_4284_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#110841])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb8/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb1/igt@[email protected]
* igt@gem_eio@in-flight-contexts-10ms:
- shard-snb: [PASS][5] -> [INCOMPLETE][6] ([i915#82])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-snb4/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-snb4/igt@[email protected]
* igt@gem_exec_async@concurrent-writes-bsd:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#112146]) +6 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb8/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb2/igt@[email protected]
* igt@gem_exec_balancer@smoke:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#110854])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb1/igt@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb3/igt@[email protected]
* igt@gem_exec_parallel@vcs1-fds:
- shard-iclb: [PASS][11] -> [SKIP][12] ([fdo#112080]) +10 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb4/igt@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb3/igt@[email protected]
* igt@gem_exec_schedule@pi-shared-iova-bsd:
- shard-iclb: [PASS][13] -> [SKIP][14] ([i915#677]) +1 similar issue
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb5/igt@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb2/igt@[email protected]
* igt@gem_exec_schedule@preempt-queue-bsd1:
- shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109276]) +15 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb1/igt@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb5/igt@[email protected]
* igt@gem_exec_whisper@basic-contexts:
- shard-glk: [PASS][17] -> [DMESG-WARN][18] ([i915#118] / [i915#95])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-glk6/igt@[email protected]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-glk2/igt@[email protected]
* igt@i915_pm_dc@dc6-dpms:
- shard-iclb: [PASS][19] -> [FAIL][20] ([i915#454]) +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb7/igt@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb3/igt@[email protected]
* igt@i915_pm_rps@reset:
- shard-iclb: [PASS][21] -> [FAIL][22] ([i915#413]) +1 similar issue
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb7/igt@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb5/igt@[email protected]
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl: [PASS][23] -> [DMESG-WARN][24] ([i915#180])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-kbl7/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-kbl1/igt@[email protected]
* igt@kms_flip@2x-plain-flip-ts-check:
- shard-glk: [PASS][25] -> [FAIL][26] ([i915#34])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-glk6/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-glk8/igt@[email protected]
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-glk: [PASS][27] -> [FAIL][28] ([i915#79])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-glk4/igt@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-glk8/igt@[email protected]
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-apl: [PASS][29] -> [DMESG-WARN][30] ([i915#180]) +3 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-apl6/igt@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-apl8/igt@[email protected]
* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][31] -> [SKIP][32] ([fdo#109642] / [fdo#111068])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb2/igt@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb1/igt@[email protected]
* igt@kms_psr@psr2_cursor_render:
- shard-iclb: [PASS][33] -> [SKIP][34] ([fdo#109441]) +2 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb7/igt@kms_psr@psr2_cursor_render.html
#### Possible fixes ####
* igt@gem_ctx_isolation@rcs0-s3:
- shard-kbl: [DMESG-WARN][35] ([i915#180]) -> [PASS][36] +2 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-kbl1/igt@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-kbl6/igt@[email protected]
* igt@gem_ctx_persistence@processes:
- shard-kbl: [FAIL][37] ([i915#570] / [i915#679]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-kbl2/igt@[email protected]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-kbl7/igt@[email protected]
* igt@gem_exec_schedule@implicit-both-bsd:
- shard-iclb: [SKIP][39] ([i915#677]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb4/igt@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb3/igt@[email protected]
* igt@gem_exec_schedule@preempt-other-chain-bsd:
- shard-iclb: [SKIP][41] ([fdo#112146]) -> [PASS][42] +5 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb4/igt@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb8/igt@[email protected]
* igt@gem_exec_whisper@basic-queues-forked:
- shard-glk: [DMESG-WARN][43] ([i915#118] / [i915#95]) -> [PASS][44] +1 similar issue
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-glk2/igt@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-glk8/igt@[email protected]
* igt@gem_ppgtt@flink-and-close-vma-leak:
- shard-glk: [FAIL][45] ([i915#644]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-glk9/igt@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-glk8/igt@[email protected]
* igt@i915_suspend@sysfs-reader:
- shard-snb: [DMESG-WARN][47] ([i915#42]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-snb4/igt@[email protected]
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-snb2/igt@[email protected]
* igt@kms_cursor_crc@pipe-b-cursor-64x64-offscreen:
- shard-apl: [FAIL][49] ([i915#54]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-apl6/igt@[email protected]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-apl3/igt@[email protected]
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk: [FAIL][51] ([i915#79]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-glk9/igt@[email protected]
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-glk5/igt@[email protected]
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-kbl: [DMESG-WARN][53] ([i915#180] / [i915#56]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-kbl1/igt@[email protected]
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-kbl4/igt@[email protected]
* igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-glk: [FAIL][55] ([i915#899]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-glk9/igt@[email protected]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-glk5/igt@[email protected]
* igt@kms_plane_multiple@atomic-pipe-c-tiling-x:
- shard-hsw: [DMESG-WARN][57] ([i915#478]) -> [PASS][58]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-hsw7/igt@[email protected]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-hsw4/igt@[email protected]
* igt@kms_psr@psr2_cursor_blt:
- shard-iclb: [SKIP][59] ([fdo#109441]) -> [PASS][60] +1 similar issue
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb4/igt@kms_psr@psr2_cursor_blt.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html
* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-apl: [DMESG-WARN][61] ([i915#180]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-apl1/igt@[email protected]
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-apl2/igt@[email protected]
* igt@perf_pmu@busy-vcs1:
- shard-iclb: [SKIP][63] ([fdo#112080]) -> [PASS][64] +12 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb7/igt@[email protected]
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb1/igt@[email protected]
* igt@prime_vgem@basic-gtt:
- shard-snb: [DMESG-WARN][65] ([i915#478]) -> [PASS][66]
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-snb4/igt@[email protected]
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-snb6/igt@[email protected]
* igt@prime_vgem@fence-wait-bsd2:
- shard-iclb: [SKIP][67] ([fdo#109276]) -> [PASS][68] +20 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-iclb7/igt@[email protected]
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-iclb2/igt@[email protected]
#### Warnings ####
* igt@gem_linear_blits@normal:
- shard-apl: [TIMEOUT][69] ([i915#1322]) -> [TIMEOUT][70] ([fdo#111732] / [i915#1322])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-apl4/igt@[email protected]
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-apl6/igt@[email protected]
* igt@gem_userptr_blits@dmabuf-sync:
- shard-snb: [DMESG-WARN][71] ([fdo#110789] / [fdo#111870] / [i915#478]) -> [DMESG-WARN][72] ([fdo#111870] / [i915#478])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-snb6/igt@[email protected]
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-snb4/igt@[email protected]
- shard-hsw: [DMESG-WARN][73] ([fdo#110789] / [fdo#111870]) -> [DMESG-WARN][74] ([fdo#111870])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-hsw8/igt@[email protected]
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-hsw4/igt@[email protected]
* igt@i915_pm_rpm@fences:
- shard-snb: [INCOMPLETE][75] ([i915#82]) -> [SKIP][76] ([fdo#109271])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8106/shard-snb4/igt@[email protected]
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/shard-snb4/igt@[email protected]
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111732]: https://bugs.freedesktop.org/show_bug.cgi?id=111732
[fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1322]: https://gitlab.freedesktop.org/drm/intel/issues/1322
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#34]: https://gitlab.freedesktop.org/drm/intel/issues/34
[i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
[i915#42]: https://gitlab.freedesktop.org/drm/intel/issues/42
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#56]: https://gitlab.freedesktop.org/drm/intel/issues/56
[i915#570]: https://gitlab.freedesktop.org/drm/intel/issues/570
[i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
[i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
[i915#679]: https://gitlab.freedesktop.org/drm/intel/issues/679
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
[i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
Participating hosts (10 -> 8)
------------------------------
Missing (2): pig-skl-6260u pig-glk-j5005
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5504 -> IGTPW_4284
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_8106: 5b0076e8066ea8218e7857ee1aa28b0670acde94 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4284: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/index.html
IGT_5504: d6788bf0404f76b66170e18eb26c85004b5ccb25 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4284/index.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev