svm_range_debug_dump should not be called at all when dynamic debug
is disabled to avoid iterating over SVM lists. This could drop
performance, specially with big number of SVM ranges.

Signed-off-by: Alex Sierra <[email protected]>
Signed-off-by: Philip Yang <[email protected]>
---
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index 479c4f66afa7..4fb427fc5942 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -821,7 +821,7 @@ svm_range_is_same_attrs(struct kfd_process *p, struct 
svm_range *prange,
  *
  * Context: The caller must hold svms->lock
  */
-static void svm_range_debug_dump(struct svm_range_list *svms)
+static int svm_range_debug_dump(struct svm_range_list *svms)
 {
        struct interval_tree_node *node;
        struct svm_range *prange;
@@ -847,6 +847,8 @@ static void svm_range_debug_dump(struct svm_range_list 
*svms)
                         prange->actual_loc);
                node = interval_tree_iter_next(node, 0, ~0ULL);
        }
+
+       return 0;
 }
 
 static int
@@ -3563,7 +3565,7 @@ svm_range_set_attr(struct kfd_process *p, struct 
mm_struct *mm,
                        break;
        }
 
-       svm_range_debug_dump(svms);
+       pr_debug("%d", svm_range_debug_dump(svms));
 
        mutex_unlock(&svms->lock);
        mmap_read_unlock(mm);
-- 
2.32.0

Reply via email to