intel/perf: drop batchbuffer flushing at query begin
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Thu, 12 Dec 2019 10:14:09 +0000 (12:14 +0200)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 13 Dec 2019 09:27:17 +0000 (11:27 +0200)
This was initially intended to fix issues with the query timings going
occassionally high.

It turns out there was a bug in the attribution of OA reports to our
context when parsing the OA data. This led to reports flagged with
other context IDs to be included in our queries results.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/perf/gen_perf.c

index 4c47aa6dcf26466697042170ae11be054408ce7d..daa092c88c9a4982dc252b126b0ec2a3631fe3b7 100644 (file)
@@ -1851,14 +1851,6 @@ gen_perf_begin_query(struct gen_perf_context *perf_ctx,
       query->oa.begin_report_id = perf_ctx->next_query_start_report_id;
       perf_ctx->next_query_start_report_id += 2;
 
-      /* We flush the batchbuffer here to minimize the chances that MI_RPC
-       * delimiting commands end up in different batchbuffers. If that's the
-       * case, the measurement will include the time it takes for the kernel
-       * scheduler to load a new request into the hardware. This is manifested in
-       * tools like frameretrace by spikes in the "GPU Core Clocks" counter.
-       */
-      perf_cfg->vtbl.batchbuffer_flush(perf_ctx->ctx, __FILE__, __LINE__);
-
       /* Take a starting OA counter snapshot. */
       perf_cfg->vtbl.emit_mi_report_perf_count(perf_ctx->ctx, query->oa.bo, 0,
                                                query->oa.begin_report_id);