[PATCH i-g-t 5/6] tests/intel/xe_oa: Reduce test_non_zero_reason execution time
Umesh Nerlige Ramappa
umesh.nerlige.ramappa at intel.com
Mon Apr 14 22:40:39 UTC 2025
On Tue, Apr 08, 2025 at 11:12:09AM -0700, Ashutosh Dixit wrote:
>Only check every 128th report to reduce test execution time. Without this
Since you have already read the entire buffer into memory, you could
just check 2 reports at random location. I am thinking random would be
better than fixed intervals to catch strange issues.
Regards,
Umesh
>patch execution times for buffer-size subtest for OA buffer sizes > 16
>M (with PEC report sanity checks) are excessive. E.g. for 128 MB size:
>
> Starting subtest: buffer-size
> Starting dynamic subtest: ccs-0-128M
> Dynamic subtest ccs-0-128M: SUCCESS (133.654s)
> Subtest buffer-size: SUCCESS (133.654s)
>
>With this patch:
>
> Starting subtest: buffer-size
> Starting dynamic subtest: ccs-0-128M
> Dynamic subtest ccs-0-128M: SUCCESS (11.209s)
> Subtest buffer-size: SUCCESS (11.209s)
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
>---
> tests/intel/xe_oa.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index cc9702322d..f3ce37ff5a 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -2646,13 +2646,14 @@ test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_b
> igt_debug("Got %u bytes\n", total_len);
>
> last_report = NULL;
>- for (uint32_t offset = 0; offset < total_len; offset += report_size) {
>+ for (uint32_t offset = 0, n = 0; offset < total_len; offset += report_size) {
> const uint32_t *report = (void *) (buf + offset);
> uint32_t reason = (report[0] >> OAREPORT_REASON_SHIFT) & OAREPORT_REASON_MASK;
>
> igt_assert_neq(reason, 0);
>
>- if (last_report) {
>+ /* Only check every 128th report to reduce test execution time */
>+ if (last_report && !(n++ % 128)) {
> sanity_check_reports(last_report, report, fmt);
> pec_sanity_check_reports(last_report, report, metric_set(hwe));
> }
>--
>2.48.1
>
More information about the igt-dev
mailing list