Hi Felix,

I love your patch! Perhaps something to improve:

[auto build test WARNING on next-20210331]
[cannot apply to drm-intel/for-linux-next drm-tip/drm-tip 
drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next linus/master 
drm/drm-next v5.12-rc5 v5.12-rc4 v5.12-rc3 v5.12-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Felix-Kuehling/Add-HMM-based-SVM-memory-manager-to-KFD-v3/20210401-122712
base:    7a43c78d0573e0bbbb0456b033e2b9a895b89464
config: x86_64-randconfig-a011-20210401 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # 
https://github.com/0day-ci/linux/commit/bb9c90022dd6afd456d4b40a20d007e57efc35ed
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Felix-Kuehling/Add-HMM-based-SVM-memory-manager-to-KFD-v3/20210401-122712
        git checkout bb9c90022dd6afd456d4b40a20d007e57efc35ed
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:167:6: warning: no previous 
prototype for 'svm_range_dma_unmap' [-Wmissing-prototypes]
     167 | void svm_range_dma_unmap(struct device *dev, dma_addr_t *dma_addr,
         |      ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:599:6: warning: no previous 
prototype for 'svm_range_add_child' [-Wmissing-prototypes]
     599 | void svm_range_add_child(struct svm_range *prange, struct mm_struct 
*mm,
         |      ^~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:795:5: warning: no previous 
>> prototype for 'svm_range_reserve_bos' [-Wmissing-prototypes]
     795 | int svm_range_reserve_bos(struct svm_validate_context *ctx)
         |     ^~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:849:6: warning: no previous 
>> prototype for 'svm_range_unreserve_bos' [-Wmissing-prototypes]
     849 | void svm_range_unreserve_bos(struct svm_validate_context *ctx)
         |      ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:967:19: warning: no previous 
prototype for 'svm_range_clone' [-Wmissing-prototypes]
     967 | struct svm_range *svm_range_clone(struct svm_range *old)
         |                   ^~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:1222:1: warning: no previous 
prototype for 'svm_range_add_list_work' [-Wmissing-prototypes]
    1222 | svm_range_add_list_work(struct svm_range_list *svms, struct 
svm_range *prange,
         | ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:1244:6: warning: no previous 
prototype for 'schedule_deferred_list_work' [-Wmissing-prototypes]
    1244 | void schedule_deferred_list_work(struct svm_range_list *svms)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/svm_range_reserve_bos +795 drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c

   794  
 > 795  int svm_range_reserve_bos(struct svm_validate_context *ctx)
   796  {
   797          struct kfd_process_device *pdd;
   798          struct amdgpu_device *adev;
   799          struct amdgpu_vm *vm;
   800          uint32_t gpuidx;
   801          int r;
   802  
   803          INIT_LIST_HEAD(&ctx->validate_list);
   804          for_each_set_bit(gpuidx, ctx->bitmap, MAX_GPU_INSTANCE) {
   805                  pdd = kfd_process_device_from_gpuidx(ctx->process, 
gpuidx);
   806                  if (!pdd) {
   807                          pr_debug("failed to find device idx %d\n", 
gpuidx);
   808                          return -EINVAL;
   809                  }
   810                  adev = (struct amdgpu_device *)pdd->dev->kgd;
   811                  vm = pdd->vm;
   812  
   813                  ctx->tv[gpuidx].bo = &vm->root.base.bo->tbo;
   814                  ctx->tv[gpuidx].num_shared = 4;
   815                  list_add(&ctx->tv[gpuidx].head, &ctx->validate_list);
   816          }
   817  
   818          r = ttm_eu_reserve_buffers(&ctx->ticket, &ctx->validate_list,
   819                                     ctx->intr, NULL);
   820          if (r) {
   821                  pr_debug("failed %d to reserve bo\n", r);
   822                  return r;
   823          }
   824  
   825          for_each_set_bit(gpuidx, ctx->bitmap, MAX_GPU_INSTANCE) {
   826                  pdd = kfd_process_device_from_gpuidx(ctx->process, 
gpuidx);
   827                  if (!pdd) {
   828                          pr_debug("failed to find device idx %d\n", 
gpuidx);
   829                          r = -EINVAL;
   830                          goto unreserve_out;
   831                  }
   832                  adev = (struct amdgpu_device *)pdd->dev->kgd;
   833  
   834                  r = amdgpu_vm_validate_pt_bos(adev, pdd->vm,
   835                                                svm_range_bo_validate, 
NULL);
   836                  if (r) {
   837                          pr_debug("failed %d validate pt bos\n", r);
   838                          goto unreserve_out;
   839                  }
   840          }
   841  
   842          return 0;
   843  
   844  unreserve_out:
   845          ttm_eu_backoff_reservation(&ctx->ticket, &ctx->validate_list);
   846          return r;
   847  }
   848  
 > 849  void svm_range_unreserve_bos(struct svm_validate_context *ctx)
   850  {
   851          ttm_eu_backoff_reservation(&ctx->ticket, &ctx->validate_list);
   852  }
   853  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to