[Intel-gfx] [PATCH v3 5/7] drm/i915: add a new perf configuration execbuf parameter
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Tue Jun 4 13:51:37 UTC 2019
On 04/06/2019 16:40, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2019-06-04 14:11:38)
>> list_add_tail(&rq->client_link, &rq->file_priv->mm.request_list);
>> }
>>
>> +static int eb_oa_config(struct i915_execbuffer *eb)
>> +{
>> + struct i915_vma *oa_vma;
>> + int err;
>> +
>> + if (!eb->oa_config)
>> + return 0;
>> +
>> + /*
>> + * 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;
> But you don't order the execution so it may not be the right oa_config.
> Just add the barrier. It is virtually no cost for the exclusive oa
> userspace.
Ah right sorry :(
>
> How does this interact with the global oa_config being changed via the
> ioctl?
eb_oa_config() should be called under the global lock right?
Or are you referring to something else?
> What significance is there for this per-execbuf oa_config being
> applied to other users?
The expectation is that a single application is using this and data
other users get from MI_REPORT_PERF_COUNT is undefined (much like when
OA is turned off).
Now I see there is a problem with an application with multiple contexts
because we have the Flex EU counter configurations per context.
I can break the config in 2 parts and execute the flex counter
programming everything regardless.
We really want to minimize the NOA reprogramming because it takes an
undefined amount of time to apply (been told below 1ms).
Thanks for spotting those issue.
-Lionel
> -Chris
>
More information about the Intel-gfx
mailing list