[Intel-gfx] [PATCH v7 09/12] drm/i915: add a new perf configuration execbuf parameter
Chris Wilson
chris at chris-wilson.co.uk
Tue Jul 9 09:58:25 UTC 2019
Quoting Lionel Landwerlin (2019-07-09 10:32:05)
> +static int eb_oa_config(struct i915_execbuffer *eb)
> +{
> + int err;
> +
> + if (!eb->oa_config)
> + return 0;
> +
> + err = i915_active_request_set(&eb->engine->last_oa_config,
> + eb->request);
This is outside of the eb->request->timeline->mutex and needs a mutex.
> + if (err)
> + return err;
> +
> + /*
> + * If the config hasn't changed, skip reconfiguring the HW (this is
> + * subject to a delay we want to avoid has much as possible).
> + */
> + if (eb->oa_config == eb->i915->perf.oa.exclusive_stream->oa_config)
> + return 0;
> +
> + err = i915_vma_move_to_active(eb->oa_vma, eb->request, 0);
> + if (err)
> + return err;
> +
> + err = eb->engine->emit_bb_start(eb->request,
> + eb->oa_vma->node.start,
> + 0, I915_DISPATCH_SECURE);
> + if (err)
> + return err;
> +
> + swap(eb->oa_config, eb->i915->perf.oa.exclusive_stream->oa_config);
As does this this. So which mutex is to guard
i915->perf.oa.exclusive_stream->oa_config ?
Is i915->perf.metrics_locks sensible to guard [data within] this function?
-Chris
More information about the Intel-gfx
mailing list