++Monk Yes amdgpu_lockup_timeout was forced to 10000 in current code, that means amdgpu_device_gpu_recover was not triggered inside xgpu_ai_mailbox_flr_work. For sriov, amdgpu_device_gpu_recover was already called by amdgpu_job_timedout, unexpected amdgpu_device_gpu_recover called by xgpu_ai_mailbox_flr_work would make vk-cts failed. -----Original Message----- From: Grodzovsky, Andrey <Andrey.Grodzovsky@xxxxxxx> Sent: Thursday, January 24, 2019 12:27 AM To: Lou, Wentao <Wentao.Lou@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx Subject: Re: [PATCH] drm/amdgpu: tighten gpu_recover in mailbox_flr to avoid duplicate recover in sriov On 01/23/2019 04:50 AM, wentalou wrote: > sriov's gpu_recover inside xgpu_ai_mailbox_flr_work would cause duplicate recover in TDR. > TDR's gpu_recover would be triggered by amdgpu_job_timedout, that > could avoid vk-cts failure by unexpected recover. > > Change-Id: Ifcba4ac43a0229ae19061aad3b0ddc96957ff9c6 > Signed-off-by: wentalou <Wentao.Lou@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c > b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c > index b11a1c17..f227633 100644 > --- a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c > +++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c > @@ -266,7 +266,7 @@ static void xgpu_ai_mailbox_flr_work(struct work_struct *work) > } > > /* Trigger recovery for world switch failure if no TDR */ > - if (amdgpu_device_should_recover_gpu(adev)) > + if (amdgpu_device_should_recover_gpu(adev) && amdgpu_lockup_timeout > +== 0) Not sure I fully understand the intent here but amdgpu_lockup_timeout == 0 is forced to 10000 in amdgpu_device_check_arguments and hence not an indication of disabled gpu recover - it will still happen. Andrey > amdgpu_device_gpu_recover(adev, NULL); > } > _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx