[PATCH] drm/amdgpu: tighten gpu_recover in mailbox_flr to avoid duplicate recover in sriov

Grodzovsky, Andrey Andrey.Grodzovsky at amd.com
Thu Jan 24 15:48:10 UTC 2019



On 01/24/2019 02:18 AM, Lou, Wentao wrote:
> ++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.

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 <Andrey.Grodzovsky at amd.com>
> Sent: Thursday, January 24, 2019 12:27 AM
> To: Lou, Wentao <Wentao.Lou at amd.com>; amd-gfx at 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 <Wentao.Lou at amd.com>
>> ---
>>    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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



More information about the amd-gfx mailing list