[PATCH 04/13] tests/intel/xe_oa: Use default exponent for some tests

Dixit, Ashutosh ashutosh.dixit at intel.com
Sat Feb 22 03:37:54 UTC 2025


On Fri, 21 Feb 2025 18:43:01 -0800, Dixit, Ashutosh wrote:
>
> On Fri, 14 Feb 2025 17:06:19 -0800, Umesh Nerlige Ramappa wrote:
> >
> > Use the default exponent for below tests:
> >
> > oa-tlb-validate
> > short-reads
> > stress-open-close
> > mmio-triggered-reports
>
> Please see discussion on this patch in the CI series here:
>
> https://patchwork.freedesktop.org/series/145042/

This is that discussion:

> >> > Why? Let's add a reason in the commit message, for all the patches, even
> >> > if, in this case, it might be "because it doesn't matter what exponent is
> >> > used".
> >>
> >> That's open for discussion in this review. My reasoning:
> >>
> >> Other than the stress-open-close, none of the other tests actually depend
> >> on the oa exponent, so we might as well use one value everywhere.
> >
> > Yeah that's what I thought.
> >
> >>
> >> >
> >> > Because these tests were ported from i915 I myself don't quite understand
> >> > why some of these tests do what the do. So it will help if we could
> >> > document why we are making the changes we are making, and, when needed,
> >> > what the effect of the changes is going to be.
> >>
> >> There is one patch on top of this series which should adjust the exponent
> >> value for all tests so that they run quickly on simulation.  Maybe I should
> >> post the v2 with that patch so the context is clear, otherwise, I agree
> >> that the reason for these changes is unclear.
> >
> > Either way, or just state on the patch something like: "this would allow
> > these tests to run in a reasonable time on slower platforms".
>
> will do
> >
> > Oops, should have commented on the original series, but ended up commenting
> > on the CI series :/
>
> Either should be fine. Both series are identical except that the CI one
> forces 128MB buffer-size test and also runs on DG2.

Just fix up the commit message to include the "why":

Reviewed-by: Ashutosh Dixit <ashutosh.dixit at intel.com>



>
>
> >
> > Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
> > ---
> >  tests/intel/xe_oa.c | 16 ++++++----------
> >  1 file changed, 6 insertions(+), 10 deletions(-)
> >
> > diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
> > index e7d6ac5af..7e40e9257 100644
> > --- a/tests/intel/xe_oa.c
> > +++ b/tests/intel/xe_oa.c
> > @@ -2316,7 +2316,6 @@ num_valid_reports_captured(struct intel_xe_oa_open_prop *param,
> >  static void
> >  test_oa_tlb_invalidate(const struct drm_xe_engine_class_instance *hwe)
> >  {
> > -	int oa_exponent = max_oa_exponent_for_period_lte(30000000);
> >	struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
> >	uint64_t properties[] = {
> >		DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
> > @@ -2324,7 +2323,7 @@ test_oa_tlb_invalidate(const struct drm_xe_engine_class_instance *hwe)
> >
> >		DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> >		DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> > -		DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent,
> > +		DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
> >		DRM_XE_OA_PROPERTY_OA_DISABLED, true,
> >		DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> >	};
> > @@ -2342,14 +2341,14 @@ test_oa_tlb_invalidate(const struct drm_xe_engine_class_instance *hwe)
> >	 */
> >	duration = 5LL * NSEC_PER_SEC;
> >	num_reports1 = num_valid_reports_captured(&param, &duration, test_set->perf_oa_format);
> > -	num_expected_reports = duration / oa_exponent_to_ns(oa_exponent);
> > +	num_expected_reports = duration / oa_exponent_to_ns(oa_exponent_default);
> >	igt_debug("expected num reports = %d\n", num_expected_reports);
> >	igt_debug("actual num reports = %d\n", num_reports1);
> >	igt_assert(num_reports1 > 0.95 * num_expected_reports);
> >
> >	duration = 5LL * NSEC_PER_SEC;
> >	num_reports2 = num_valid_reports_captured(&param, &duration, test_set->perf_oa_format);
> > -	num_expected_reports = duration / oa_exponent_to_ns(oa_exponent);
> > +	num_expected_reports = duration / oa_exponent_to_ns(oa_exponent_default);
> >	igt_debug("expected num reports = %d\n", num_expected_reports);
> >	igt_debug("actual num reports = %d\n", num_reports2);
> >	igt_assert(num_reports2 > 0.95 * num_expected_reports);
> > @@ -2738,7 +2737,6 @@ test_enable_disable(const struct drm_xe_engine_class_instance *hwe)
> >  static void
> >  test_short_reads(void)
> >  {
> > -	int oa_exponent = max_oa_exponent_for_period_lte(5000);
> >	uint64_t properties[] = {
> >		DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
> >
> > @@ -2748,7 +2746,7 @@ test_short_reads(void)
> >		/* OA unit configuration */
> >		DRM_XE_OA_PROPERTY_OA_METRIC_SET, default_test_set->perf_oa_metrics_set,
> >		DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(default_test_set->perf_oa_format),
> > -		DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent,
> > +		DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
> >	};
> >	struct intel_xe_oa_open_prop param = {
> >		.num_properties = ARRAY_SIZE(properties) / 2,
> > @@ -3464,7 +3462,6 @@ test_stress_open_close(const struct drm_xe_engine_class_instance *hwe)
> >	load_helper_run(HIGH);
> >
> >	igt_until_timeout(2) {
> > -		int oa_exponent = 5; /* 5 micro seconds */
> >		uint64_t properties[] = {
> >			DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
> >
> > @@ -3476,7 +3473,7 @@ test_stress_open_close(const struct drm_xe_engine_class_instance *hwe)
> >			/* OA unit configuration */
> >			DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> >			DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> > -			DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent,
> > +			DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
> >			DRM_XE_OA_PROPERTY_OA_DISABLED, true,
> >			DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> >		};
> > @@ -3990,12 +3987,11 @@ static void
> >  __test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe)
> >  {
> >	struct intel_xe_perf_metric_set *test_set = default_test_set;
> > -	int oa_exponent = max_oa_exponent_for_period_lte(2 * NSEC_PER_SEC);
> >	uint64_t properties[] = {
> >		DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
> >		DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> >		DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> > -		DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent,
> > +		DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
> >		DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> >	};
> >	struct intel_xe_oa_open_prop param = {
> > --
> > 2.34.1
> >


More information about the igt-dev mailing list