[igt-dev] [PATCH i-g-t] i915/i915_power: Also show requested and actual freq's

Kamil Konieczny kamil.konieczny at linux.intel.com
Wed Mar 22 17:09:15 UTC 2023


Hi,

On 2023-03-21 at 13:27:55 +0530, Riana Tauro wrote:
> 
> 
> On 3/21/2023 6:48 AM, Ashutosh Dixit wrote:
> > When power limits are in effect, in addition to measured power it is also
> > important to see the requested and actual freq's and see how they change
> > with set power limits. Add this to the test output.
> > 
> > Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
> > ---
> >   tests/i915/i915_power.c | 11 ++++++++++-
> >   1 file changed, 10 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tests/i915/i915_power.c b/tests/i915/i915_power.c
> > index f2fd228698a..f0f10fc4d14 100644
> > --- a/tests/i915/i915_power.c
> > +++ b/tests/i915/i915_power.c
> > @@ -5,6 +5,7 @@
> >   #include "igt.h"
> >   #include "i915/gem.h"
> > +#include "igt_sysfs.h"

Please keep it in alphabetical order.

> >   #include "igt_power.h"
> >   IGT_TEST_DESCRIPTION("i915 power measurement tests");
> > @@ -27,9 +28,13 @@ static void sanity(int i915)
> >   	double idle, busy;
> >   	igt_spin_t *spin;
> >   	uint64_t ahnd;
> > +	int dir, req, act;
> >   #define DURATION_SEC 2
> > +	dir = igt_sysfs_gt_open(i915, 0);
> > +	igt_assert_lt(0, dir);
> > +
> can be replaced with for_each_sysfs_gt_dirfd and making the test a dynamic
> subtest ?
> 
> Thanks
> Riana Tauro
> 

I would prefer to keep it simple and have it as first step,
then make it dynamic subtest with macro.

Regards,
Kamil

> >   	/* Idle power */
> >   	igt_require(!igt_power_open(i915, &pwr, "gpu"));
> >   	gem_quiescent_gpu(i915);
> > @@ -44,12 +49,16 @@ static void sanity(int i915)
> >   	/* Wait till at least one spinner starts */
> >   	igt_spin_busywait_until_started(spin);
> >   	busy = measure_power(&pwr, DURATION_SEC);
> > +	req = igt_sysfs_get_u32(dir, "rps_cur_freq_mhz");
> > +	act = igt_sysfs_get_u32(dir, "rps_act_freq_mhz");
> >   	igt_free_spins(i915);
> >   	put_ahnd(ahnd);
> >   	intel_ctx_destroy(i915, ctx);
> >   	igt_power_close(&pwr);
> > +	close(dir);
> > -	igt_info("Measured power: idle: %g mW, busy: %g mW\n", idle, busy);
> > +	igt_info("Measured power: idle: %g mW, busy: %g mW, req MHz: %d, act MHz: %d\n",
> > +		 idle, busy, req, act);
> >   	igt_assert(idle >= 0 && busy > 0 && busy > idle);
> >   }


More information about the igt-dev mailing list