[igt-dev] [PATCH i-g-t 15/31] i915/perf: Add OAM support
Dixit, Ashutosh
ashutosh.dixit at intel.com
Wed Mar 15 21:52:31 UTC 2023
On Tue, 14 Feb 2023 16:46:32 -0800, Umesh Nerlige Ramappa wrote:
>
> @@ -5306,10 +5345,27 @@ test_sysctl_defaults(void)
> igt_assert_eq(max_freq, 100000);
> }
>
> -#define __for_each_perf_enabled_engine(fd__, e__) \
> - for_each_physical_engine(fd__, e__) \
> - if (perf_supports_engine(e__)) \
> - igt_dynamic_f("%s", e__->name)
> +static struct intel_execution_engine2 *
> +__ci_to_e2(const intel_ctx_t *ctx, struct i915_engine_class_instance *ci)
> +{
> + static struct intel_execution_engine2 e2;
> + struct intel_execution_engine2 *e;
> +
> + for_each_ctx_engine(drm_fd, ctx, e) {
> + if (e->class == ci->engine_class && e->instance == ci->engine_instance) {
> + e2 = *e;
> + break;
> + }
> + }
> +
> + return &e2;
> +}
> +
> +#define __for_random_engine_in_each_group(groups_, ctx_, e_) \
> + for (int i_ = 0; \
> + i_ < num_perf_oa_groups && !!(e_ = __ci_to_e2(ctx_, random_engine(&groups_[i_]))); \
Sorry, missed that e2 is static. Basically here we are only checking for
"i_ < num_perf_oa_groups". Maybe get rid of the "!!" above, it's
implicit. With that this is:
Reviewed-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
More information about the igt-dev
mailing list