RE: [PATCH] drm/amdgpu: remove evict_resource for sriov when suspend.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[AMD Official Use Only - General]

Hi Shaoyun and Christian,

Thank you for your comments! We indeed did not consider the live migration case when we tried to fix this and we shall come up with other methods for our issue.

Best regards,
Shikang. 

-----Original Message-----
From: Liu, Shaoyun <Shaoyun.Liu@xxxxxxx> 
Sent: Tuesday, December 6, 2022 4:26 AM
To: Koenig, Christian <Christian.Koenig@xxxxxxx>; Fan, Shikang <Shikang.Fan@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx
Subject: RE: [PATCH] drm/amdgpu: remove evict_resource for sriov when suspend.

[AMD Official Use Only - General]

I agree with Christian . Although on some  hypervisior with  live migration support , there will be  specific API between  OS and  PF driver to handle the FB content save/restore for VF, in this case , guest side save/restore is not necessary.   On other hypervisior without the  live migration(like KVM for now)  , it will depends on the guests driver do the save/restore  itself on suspend/resume call back.

Regards
Shaoyun.liu



-----Original Message-----
From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Christian König
Sent: Monday, December 5, 2022 5:43 AM
To: Fan, Shikang <Shikang.Fan@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH] drm/amdgpu: remove evict_resource for sriov when suspend.

Am 05.12.22 um 09:47 schrieb Shikang Fan:
> - There is no need to evict resources from vram to sram for sriov
>    because GPU is still powered on. And evicet is taking too much time
>    that would cause full access mode timedout in multi-vf mode.

Well big NAK to this!

The suspend is usually done to migrating the virtual machine to a different hw instance. Because of this the content of VRAM is usually destroyed.

Regards,
Christian.

>
> Signed-off-by: Shikang Fan <shikang.fan@xxxxxxx>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +++++---
>   1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 818fa72c670d..55fe425fbe6d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -4135,9 +4135,11 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
>       if (!adev->in_s0ix)
>               amdgpu_amdkfd_suspend(adev, adev->in_runpm);
>
> -     r = amdgpu_device_evict_resources(adev);
> -     if (r)
> -             return r;
> +     if (!amdgpu_sriov_vf(adev)) {
> +             r = amdgpu_device_evict_resources(adev);
> +             if (r)
> +                     return r;
> +     }
>
>       amdgpu_fence_driver_hw_fini(adev);
>

<<attachment: winmail.dat>>


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux