[PATCH] drm/amd/amdgpu: move drain_workqueue before shutdown is set

Xu, Feifei Feifei.Xu at amd.com
Mon Aug 26 04:00:16 UTC 2024


[AMD Official Use Only - AMD Internal Distribution Only]

Reviewed-by: Feifei Xu <Feifei.Xu at amd.com>

-----Original Message-----
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Victor Zhao
Sent: Monday, August 26, 2024 11:52 AM
To: amd-gfx at lists.freedesktop.org
Cc: Zhao, Victor <Victor.Zhao at amd.com>
Subject: [PATCH] drm/amd/amdgpu: move drain_workqueue before shutdown is set

[background] when unloading amdgpu driver right after running a workload, drain_workqueue is causing "Fence fallback timer expired on ring sdma0.0". Under sriov, this issue will cause sriov full access timeout and a reset happening.

move drain_workqueue before shutdown is set to allow ih process and before enter full access under sriov to avoid full access time cost.

Signed-off-by: Victor Zhao <Victor.Zhao at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index da06705f0026..f06e1f408f20 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -4531,6 +4531,9 @@ void amdgpu_device_fini_hw(struct amdgpu_device *adev)  {
        dev_info(adev->dev, "amdgpu: finishing device.\n");
        flush_delayed_work(&adev->delayed_init_work);
+
+       if (adev->mman.initialized)
+               drain_workqueue(adev->mman.bdev.wq);
        adev->shutdown = true;

        /* make sure IB test finished before entering exclusive mode @@ -4551,9 +4554,6 @@ void amdgpu_device_fini_hw(struct amdgpu_device *adev)
        }
        amdgpu_fence_driver_hw_fini(adev);

-       if (adev->mman.initialized)
-               drain_workqueue(adev->mman.bdev.wq);
-
        if (adev->pm.sysfs_initialized)
                amdgpu_pm_sysfs_fini(adev);
        if (adev->ucode_sysfs_en)
--
2.34.1



More information about the amd-gfx mailing list