[PATCH] SWDEV-206718 drm/amdgpu: Fix tdr3 could hang with slow compute issue

Deng, Emily Emily.Deng at amd.com
Sat Oct 12 05:36:08 UTC 2019


Ping....

Best wishes
Emily Deng



>-----Original Message-----
>From: Emily Deng <Emily.Deng at amd.com>
>Sent: Wednesday, October 9, 2019 6:52 PM
>To: amd-gfx at lists.freedesktop.org
>Cc: Deng, Emily <Emily.Deng at amd.com>
>Subject: [PATCH] SWDEV-206718 drm/amdgpu: Fix tdr3 could hang with slow
>compute issue
>
>When index is 1, need to set compute ring timeout for sriov and passthrough.
>
>Signed-off-by: Emily Deng <Emily.Deng at amd.com>
>---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 ++++-
> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    | 6 ++++--
> 2 files changed, 8 insertions(+), 3 deletions(-)
>
>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>index 53ce227..2f5a015 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>@@ -2664,8 +2664,11 @@ static int
>amdgpu_device_get_job_timeout_settings(struct amdgpu_device *adev)
> 		 * There is only one value specified and
> 		 * it should apply to all non-compute jobs.
> 		 */
>-		if (index == 1)
>+		if (index == 1) {
> 			adev->sdma_timeout = adev->video_timeout = adev-
>>gfx_timeout;
>+			if (amdgpu_sriov_vf(adev) ||
>amdgpu_passthrough(adev))
>+				adev->compute_timeout = adev->gfx_timeout;
>+		}
> 	}
>
> 	return ret;
>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>index a88ea74..311abc8 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>@@ -250,9 +250,11 @@ module_param_named(msi, amdgpu_msi, int, 0444);
>  * By default(with no lockup_timeout settings), the timeout for all non-
>compute(GFX, SDMA and Video)
>  * jobs is 10000. And there is no timeout enforced on compute jobs.
>  */
>-MODULE_PARM_DESC(lockup_timeout, "GPU lockup timeout in ms (default:
>10000 for non-compute jobs and infinity timeout for compute jobs."
>+MODULE_PARM_DESC(lockup_timeout, "GPU lockup timeout in ms (default:
>for bare metal 10000 for non-compute jobs and infinity timeout for compute
>jobs; "
>+		"for passthrough or sriov, 10000 for all jobs."
> 		" 0: keep default value. negative: infinity timeout), "
>-		"format is [Non-Compute] or [GFX,Compute,SDMA,Video]");
>+		"format: for bare metal [Non-Compute] or
>[GFX,Compute,SDMA,Video]; "
>+		"for passthrough or sriov [all jobs] or
>[GFX,Compute,SDMA,Video].");
> module_param_string(lockup_timeout, amdgpu_lockup_timeout,
>sizeof(amdgpu_lockup_timeout), 0444);
>
> /**
>--
>2.7.4



More information about the amd-gfx mailing list