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 <lkp@xxxxxxxxx> 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-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx