[Intel-gfx] [PATCH igt] lib: Dump /sys/kernel/debug/suspend_stats after suspend failure

Arkadiusz Hiler arkadiusz.hiler at intel.com
Thu Nov 16 14:31:03 UTC 2017


On Tue, Nov 14, 2017 at 01:19:01PM +0000, Chris Wilson wrote:
> I noticed that dpm was storing some information about which phase of
> suspend failed inside suspend_stats. That will be useful to help debug
> such failures, so automatically dump it after suspend fails.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  lib/igt_aux.c | 22 ++++++++++++++++++----
>  1 file changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/igt_aux.c b/lib/igt_aux.c
> index ee53559c..0bcf792c 100644
> --- a/lib/igt_aux.c
> +++ b/lib/igt_aux.c
> @@ -803,10 +803,24 @@ static void suspend_via_rtcwake(enum igt_suspend_state state)
>  	snprintf(cmd, sizeof(cmd), "rtcwake -s %d -m %s ",
>  		 delay, suspend_state_name[state]);
>  	ret = igt_system(cmd);
> -	igt_assert_f(ret == 0,
> -		     "rtcwake failed with %i\n"
> -		     "Check dmesg for further details.\n",
> -		     ret);
> +	if (ret) {
> +		const char *path = "suspend_stats";
> +		char *info;
> +		int dir;
> +
> +		igt_warn("rtcwake failed with %i\n"
> +			 "Check dmesg for further details.\n",
> +			 ret);
> +
> +		dir = open(igt_debugfs_mount(), O_RDONLY);
> +		info = igt_sysfs_get(dir, path);
> +		close(dir);
> +		if (info) {
> +			igt_debug("%s:\n%s\n", path, info);
> +			free(info);
> +		}
> +	}
> +	igt_assert_eq(ret, 0);
>  }
>  
>  static void suspend_via_sysfs(int power_dir, enum igt_suspend_state state)

We can see it in action here:
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_496/shard-apl3/igt@gem_eio@in-flight-suspend.html

(gem_eio:7686) igt-aux-DEBUG: suspend_stats:
success: 10
fail: 1
failed_freeze: 0
failed_prepare: 0
failed_suspend: 1
failed_suspend_late: 0
failed_suspend_noirq: 0
failed_resume: 0
failed_resume_early: 0
failed_resume_noirq: 0
failures:
  last_failed_dev:	
			
  last_failed_errno:	-16
			0
  last_failed_step:	suspend


Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
and pushed

-- 
Cheers,
Arek



More information about the Intel-gfx mailing list