[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