[PATCH i-g-t v3] tests/intel/xe_pm_residency: Print execution and sleep times

Gupta, Anshuman anshuman.gupta at intel.com
Fri Sep 20 08:31:37 UTC 2024



> -----Original Message-----
> From: Poosa, Karthik <karthik.poosa at intel.com>
> Sent: Friday, September 20, 2024 2:03 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Gupta, Anshuman <anshuman.gupta at intel.com>; Nilawar, Badal
> <badal.nilawar at intel.com>; Tauro, Riana <riana.tauro at intel.com>; Poosa,
> Karthik <karthik.poosa at intel.com>
> Subject: [PATCH i-g-t v3] tests/intel/xe_pm_residency: Print execution and sleep
> times
> 
> Print the workload execution and sleep times of the test to help diagnose
> timeouts.
> 
> v2: Patchwork test re-run.
> 
> v3:
>  - Assert if syncobj_wait took more than 1.2 seconds, as it causes the test
>    to timeout because test would sleep for more than 120 seconds which
>    triggers per task timeout.
> 
> Signed-off-by: Karthik Poosa <karthik.poosa at intel.com>
> Reviewed-by: Riana Tauro <riana.tauro at intel.com>
> ---
>  tests/intel/xe_pm_residency.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/intel/xe_pm_residency.c b/tests/intel/xe_pm_residency.c index
> 0e687558b..343fdd694 100644
> --- a/tests/intel/xe_pm_residency.c
> +++ b/tests/intel/xe_pm_residency.c
> @@ -139,11 +139,14 @@ static void exec_load(int fd, struct
> drm_xe_engine_class_instance *hwe, unsigned
>  		elapsed = igt_nsec_elapsed(&tv);
>  		igt_assert_eq(data->data, done[1]);
> 
> -		igt_debug("Execution took %.3fms (submit %.1fus, wait
> %.1fus)\n",
> +		igt_info("Execution took %.3fms (submit %.1fus, wait
> %.1fus)\n",
>  			  1e-6 * elapsed,
>  			  1e-3 * submit,
>  			  1e-3 * (elapsed - submit));
We don't need to change to igt_info upon igt_assert it will dump each igt_debug log.
> 
> +		/* Assert if syncobj_wait took more than 1.2 seconds */
Explain by comment why 1.2 seconds  ?
> +		igt_assert((uint64_t)(elapsed - submit) < (uint64_t)(1.2 *
> +NSEC_PER_SEC));
Your calculation is based upon the igt runner per test timeout which can change.
So better to stick with 1 second. Or better to get per test timeout via igt environment 
variable.
Cc: Kamil
Is it possible to get the per test igt timeout value in igt test ?

Thanks,
Anshuman 
> +
>  		syncobj_reset(fd, &syncobj, 1);
> 
>  		/*
> --
> 2.25.1



More information about the igt-dev mailing list