[igt-dev] [PATCH i-g-t] tests/perf: add a stress test opening/closing the stream
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Thu Feb 27 11:10:16 UTC 2020
On 27/02/2020 12:23, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2020-02-27 10:17:24)
>> This appears to trigger hard hangs...
> Didn't even require a bg load!
Good point actually... I think there was still a glxgears running.
>> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>> ---
>> tests/perf.c | 31 +++++++++++++++++++++++++++++++
>> 1 file changed, 31 insertions(+)
>>
>> diff --git a/tests/perf.c b/tests/perf.c
>> index d9bac561..d9ff4edb 100644
>> --- a/tests/perf.c
>> +++ b/tests/perf.c
>> @@ -3995,6 +3995,34 @@ test_rc6_disable(void)
>> igt_assert_neq(n_events_end - n_events_start, 0);
>> }
>>
>> +static void
>> +test_stress_open_close(void)
>> +{
>> + igt_until_timeout(2) {
>> + int oa_exponent = 5; /* 5 micro seconds */
>> + uint64_t properties[] = {
>> + /* XXX: even without periodic sampling we have to
>> + * specify at least one sample layout property...
>> + */
>> + DRM_I915_PERF_PROP_SAMPLE_OA, true,
>> +
>> + /* OA unit configuration */
>> + DRM_I915_PERF_PROP_OA_METRICS_SET, test_set->perf_oa_metrics_set,
>> + DRM_I915_PERF_PROP_OA_FORMAT, test_set->perf_oa_format,
>> + DRM_I915_PERF_PROP_OA_EXPONENT, oa_exponent,
>> + };
>> + struct drm_i915_perf_open_param param = {
>> + .flags = I915_PERF_FLAG_FD_CLOEXEC |
>> + I915_PERF_FLAG_DISABLED, /* XXX: open disabled */
>> + .num_properties = sizeof(properties) / 16,
> #define NUM_PROPERTIES(p) (sizeof(p) / (2 * sizeof(uint64_t)))
>
> [and probably crib the kernels assert_pointer_is_array()]
>
>> + .properties_ptr = to_user_pointer(properties),
>> + };
>> +
>> + stream_fd = __perf_open(drm_fd, ¶m, false);
>> + __perf_close(stream_fd);
> Ok, that looks as basic as can be -- I was struggling to decide what the
> minimum parameters were :)
>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
> -Chris
More information about the igt-dev
mailing list