Each queue of the process is individually removed and there is not need
to suspend whole mes. Suspending mes stops kernel mode queues also
causing unnecessary timeouts when running mixed work loads

Signed-off-by: Harish Kasiviswanathan <[email protected]>
---
 .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c    | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index dc4b6d19dc10..28e8c4f46f69 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -1211,14 +1211,8 @@ static int evict_process_queues_cpsch(struct 
device_queue_manager *dqm,
        pr_debug_ratelimited("Evicting process pid %d queues\n",
                            pdd->process->lead_thread->pid);
 
-       if (dqm->dev->kfd->shared_resources.enable_mes) {
+       if (dqm->dev->kfd->shared_resources.enable_mes)
                pdd->last_evict_timestamp = get_jiffies_64();
-               retval = suspend_all_queues_mes(dqm);
-               if (retval) {
-                       dev_err(dev, "Suspending all queues failed");
-                       goto out;
-               }
-       }
 
        /* Mark all queues as evicted. Deactivate all active queues on
         * the qpd.
@@ -1248,10 +1242,6 @@ static int evict_process_queues_cpsch(struct 
device_queue_manager *dqm,
                                              
KFD_UNMAP_QUEUES_FILTER_ALL_QUEUES :
                                              
KFD_UNMAP_QUEUES_FILTER_DYNAMIC_QUEUES, 0,
                                              USE_DEFAULT_GRACE_PERIOD);
-       } else {
-               retval = resume_all_queues_mes(dqm);
-               if (retval)
-                       dev_err(dev, "Resuming all queues failed");
        }
 
 out:
-- 
2.43.0

Reply via email to