[igt-dev] [PATCH i-g-t 1/2] tests/perf: simplify enable-disable subtest
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Wed Feb 28 15:25:59 UTC 2018
We're printing a bunch of values that were meant to try to figure out
the issue of the OA unit not producing reports. After fixing the i915
driver with :
https://patchwork.freedesktop.org/series/39112/
We don't need those values anymore. It turns out the issue was simply
a race condition in the driver.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
tests/perf.c | 48 ++++++++++++++++++------------------------------
1 file changed, 18 insertions(+), 30 deletions(-)
diff --git a/tests/perf.c b/tests/perf.c
index ccbf030a..bac3c4a7 100644
--- a/tests/perf.c
+++ b/tests/perf.c
@@ -2562,7 +2562,6 @@ test_enable_disable(void)
struct drm_i915_perf_record_header *header;
uint32_t first_timestamp = 0, last_timestamp = 0;
uint32_t last_periodic_report[64];
- double tick_per_period;
/* Giving enough time for an overflow might help catch whether
* the OA unit has been enabled even if the driver might at
@@ -2599,7 +2598,6 @@ test_enable_disable(void)
for (int offset = 0; offset < len; offset += header->size) {
uint32_t *report;
- double previous_tick_per_period;
header = (void *) (buf + offset);
report = (void *) (header + 1);
@@ -2612,38 +2610,28 @@ test_enable_disable(void)
first_timestamp = report[1];
last_timestamp = report[1];
- previous_tick_per_period = tick_per_period;
-
- if (n_periodic_reports > 0 &&
- oa_report_is_periodic(oa_exponent, report)) {
- tick_per_period =
- oa_reports_tick_per_period(last_periodic_report,
- report);
-
- if (!double_value_within(tick_per_period,
- previous_tick_per_period, 5))
- igt_debug("clock change!\n");
-
- igt_debug(" > report ts=%u"
- " ts_delta_last_periodic=%8u is_timer=%i ctx_id=%8x gpu_ticks=%u nb_periodic=%u\n",
- report[1],
- report[1] - last_periodic_report[1],
- oa_report_is_periodic(oa_exponent, report),
- oa_report_get_ctx_id(report),
- report[3] - last_periodic_report[3],
- n_periodic_reports);
+ igt_debug(" > report ts=%8x"
+ " ts_delta_last_periodic=%s%8u"
+ " is_timer=%i ctx_id=0x%8x\n",
+ report[1],
+ oa_report_is_periodic(oa_exponent, report) ? " " : "*",
+ n_periodic_reports > 0 ? (report[1] - last_periodic_report[1]) : 0,
+ oa_report_is_periodic(oa_exponent, report),
+ oa_report_get_ctx_id(report));
+ if (oa_report_is_periodic(oa_exponent, report)) {
memcpy(last_periodic_report, report,
sizeof(last_periodic_report));
- }
- /* We want to measure only the periodic
- * reports, ctx-switch might inflate the
- * content of the buffer and skew or
- * measurement.
- */
- n_periodic_reports +=
- oa_report_is_periodic(oa_exponent, report);
+ /* We want to measure only the
+ * periodic reports, ctx-switch
+ * might inflate the content of
+ * the buffer and skew or
+ * measurement.
+ */
+ n_periodic_reports +=
+ oa_report_is_periodic(oa_exponent, report);
+ }
break;
case DRM_I915_PERF_RECORD_OA_BUFFER_LOST:
igt_assert(!"unexpected overflow");
--
2.16.1
More information about the igt-dev
mailing list