Browse Source

drm/amdkfd: Replace cpu_relax() with schedule() in DQM

In order not to occupy the current core and thus prevent the core from
servicing IOMMU PPR requests, this patch replaces the call in DQM to
cpu_relax() with a call to schedule().

Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Oded Gabbay 10 years ago
parent
commit
99331a51cc
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c

+ 2 - 1
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c

@@ -26,6 +26,7 @@
 #include <linux/types.h>
 #include <linux/printk.h>
 #include <linux/bitops.h>
+#include <linux/sched.h>
 #include "kfd_priv.h"
 #include "kfd_device_queue_manager.h"
 #include "kfd_mqd_manager.h"
@@ -829,7 +830,7 @@ static int fence_wait_timeout(unsigned int *fence_addr,
 			pr_err("kfd: qcm fence wait loop timeout expired\n");
 			return -ETIME;
 		}
-		cpu_relax();
+		schedule();
 	}
 
 	return 0;