Re: [PATCH] drm/amdgpu: tighten gpu_recover in mailbox_flr to avoid duplicate recover in sriov
Acked-by: Andrey Grodzovsky Andrey On 01/29/2019 10:16 PM, 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: I840dfc145e4e1be9ece6eac8d9f3501da9b28ebf > Signed-off-by: wentalou > --- > drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c > b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c > index b11a1c17..73851eb 100644 > --- a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c > +++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c > @@ -266,7 +266,8 @@ 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 == MAX_SCHEDULE_TIMEOUT) > amdgpu_device_gpu_recover(adev, NULL); > } > ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] drm/amdgpu: tighten gpu_recover in mailbox_flr to avoid duplicate recover in sriov
On 01/24/2019 02:18 AM, Lou, Wentao wrote: > ++Monk > > Yes amdgpu_lockup_timeout was forced to 1 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. So if I understand correctly your goal is to avoid the gpu recover triggered from xgpu_ai_mailbox_flr_work, bot I don't understand how adding 'amdgpu_lockup_timeout == 0' achieves that ? Andrey > > -Original Message- > From: Grodzovsky, Andrey > Sent: Thursday, January 24, 2019 12:27 AM > To: Lou, Wentao ; amd-gfx@lists.freedesktop.org > 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 >> --- >>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 1 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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amdgpu: tighten gpu_recover in mailbox_flr to avoid duplicate recover in sriov
++Monk Yes amdgpu_lockup_timeout was forced to 1 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 Sent: Thursday, January 24, 2019 12:27 AM To: Lou, Wentao ; amd-gfx@lists.freedesktop.org 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 > --- > 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 1 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@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
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 > --- > 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 1 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@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx