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.kuehl...@amd.com> 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.sie...@amd.com>
> > Tested-by: Alex Sierra <alex.sie...@amd.com>
> > Signed-off-by: Philip Yang <philip.y...@amd.com>
> > Signed-off-by: Felix Kuehling <felix.kuehl...@amd.com>
>
> 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.kuehl...@amd.com>
>
>
> > ---
> >   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);

Reply via email to