Re: [PATCH] drm/amdkfd: avoid svm dump when dynamic debug disabled

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

 



Is your kernel configured without dynamic debugging? Maybe we need to wrap this in some #if defined(CONFIG_DYNAMIC_DEBUG_CORE).

Regards,
  Felix


Am 2023-08-03 um 15:38 schrieb Mike Lothian:
Hi

I'm seeing a compiler failure with Clang 16

   CC      drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.o
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:3568:2: error: call to
undeclared function '_dynamic_func_call_no_desc'; ISO C99 and later do
not support implicit function declarations
[-Wimplicit-function-declaration]
        dynamic_svm_range_dump(svms);
        ^
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:50:2: note: expanded
from macro 'dynamic_svm_range_dump'
        _dynamic_func_call_no_desc("svm_range_dump", svm_range_debug_dump, svms)
        ^
1 error generated.

Cheers

Mike

On Wed, 19 Jul 2023 at 22:27, Felix Kuehling <felix.kuehling@xxxxxxx> wrote:
Am 2023-07-19 um 17:22 schrieb Alex Sierra:
Set dynamic_svm_range_dump macro to avoid iterating over SVM lists
from svm_range_debug_dump when dynamic debug is disabled. Otherwise,
it could drop performance, specially with big number of SVM ranges.
Make sure both svm_range_set_attr and svm_range_debug_dump functions
are dynamically enabled to print svm_range_debug_dump debug traces.

Signed-off-by: Alex Sierra <alex.sierra@xxxxxxx>
Tested-by: Alex Sierra <alex.sierra@xxxxxxx>
Signed-off-by: Philip Yang <Philip.Yang@xxxxxxx>
Signed-off-by: Felix Kuehling <felix.kuehling@xxxxxxx>
I don't think my name on a Signed-off-by is appropriate here. I didn't
write the patch. And I'm not submitting it. However, the patch is

Reviewed-by: Felix Kuehling <Felix.Kuehling@xxxxxxx>


---
   drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 4 +++-
   1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index 479c4f66afa7..1b50eae051a4 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -46,6 +46,8 @@
    * page table is updated.
    */
   #define AMDGPU_SVM_RANGE_RETRY_FAULT_PENDING        (2UL * NSEC_PER_MSEC)
+#define dynamic_svm_range_dump(svms) \
+     _dynamic_func_call_no_desc("svm_range_dump", svm_range_debug_dump, svms)

   /* Giant svm range split into smaller ranges based on this, it is decided using
    * minimum of all dGPU/APU 1/32 VRAM size, between 2MB to 1GB and alignment to
@@ -3563,7 +3565,7 @@ svm_range_set_attr(struct kfd_process *p, struct mm_struct *mm,
                       break;
       }

-     svm_range_debug_dump(svms);
+     dynamic_svm_range_dump(svms);

       mutex_unlock(&svms->lock);
       mmap_read_unlock(mm);



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

  Powered by Linux