Re: [PATCH v15 33/43] dept: assign unique dept_key to each distinct dma fence caller

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

 



Hi Byungchul,

kernel test robot noticed the following build errors:

[auto build test ERROR on 82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3]

url:    https://github.com/intel-lab-lkp/linux/commits/Byungchul-Park/llist-move-llist_-head-node-definition-to-types-h/20250513-181346
base:   82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3
patch link:    https://lore.kernel.org/r/20250513100730.12664-34-byungchul%40sk.com
patch subject: [PATCH v15 33/43] dept: assign unique dept_key to each distinct dma fence caller
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20250514/202505142049.8vYH34nZ-lkp@xxxxxxxxx/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250514/202505142049.8vYH34nZ-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505142049.8vYH34nZ-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1372:3: error: cannot jump from this indirect goto statement to one of its possible targets
    1372 |                 drm_exec_retry_on_contention(&exec);
         |                 ^
   include/drm/drm_exec.h:123:4: note: expanded from macro 'drm_exec_retry_on_contention'
     123 |                         goto *__drm_exec_retry_ptr;             \
         |                         ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1399:2: note: possible target of indirect goto statement
    1399 |         dma_fence_wait(fence, false);
         |         ^
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:41: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                                         ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1399:2: note: jump enters a statement expression
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:20: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                    ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1399:2: note: jump enters a statement expression
   include/linux/dma-fence.h:675:38: note: expanded from macro 'dma_fence_wait'
     675 | #define dma_fence_wait(f, intr)                                         \
         |                                                                         ^
   1 error generated.
--
>> drivers/gpu/drm/xe/xe_svm.c:807:3: error: cannot jump from this indirect goto statement to one of its possible targets
     807 |                 drm_exec_retry_on_contention(&exec);
         |                 ^
   include/drm/drm_exec.h:123:4: note: expanded from macro 'drm_exec_retry_on_contention'
     123 |                         goto *__drm_exec_retry_ptr;             \
         |                         ^
   drivers/gpu/drm/xe/xe_svm.c:831:2: note: possible target of indirect goto statement
     831 |         dma_fence_wait(fence, false);
         |         ^
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:41: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                                         ^
   drivers/gpu/drm/xe/xe_svm.c:831:2: note: jump enters a statement expression
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:20: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                    ^
   drivers/gpu/drm/xe/xe_svm.c:831:2: note: jump enters a statement expression
   include/linux/dma-fence.h:675:38: note: expanded from macro 'dma_fence_wait'
     675 | #define dma_fence_wait(f, intr)                                         \
         |                                                                         ^
   1 error generated.
--
>> drivers/gpu/drm/xe/xe_gt_pagefault.c:164:3: error: cannot jump from this indirect goto statement to one of its possible targets
     164 |                 drm_exec_retry_on_contention(&exec);
         |                 ^
   include/drm/drm_exec.h:123:4: note: expanded from macro 'drm_exec_retry_on_contention'
     123 |                         goto *__drm_exec_retry_ptr;             \
         |                         ^
   drivers/gpu/drm/xe/xe_gt_pagefault.c:181:2: note: possible target of indirect goto statement
     181 |         dma_fence_wait(fence, false);
         |         ^
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:41: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                                         ^
   drivers/gpu/drm/xe/xe_gt_pagefault.c:181:2: note: jump enters a statement expression
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:20: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                    ^
   drivers/gpu/drm/xe/xe_gt_pagefault.c:181:2: note: jump enters a statement expression
   include/linux/dma-fence.h:675:38: note: expanded from macro 'dma_fence_wait'
     675 | #define dma_fence_wait(f, intr)                                         \
         |                                                                         ^
   1 error generated.


vim +1372 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c

f1d93c9c2722a2 Jack Xiao       2020-03-27  1357  
737dad0b5d609f Jack Xiao       2020-09-09  1358  int amdgpu_mes_ctx_unmap_meta_data(struct amdgpu_device *adev,
737dad0b5d609f Jack Xiao       2020-09-09  1359  				   struct amdgpu_mes_ctx_data *ctx_data)
737dad0b5d609f Jack Xiao       2020-09-09  1360  {
737dad0b5d609f Jack Xiao       2020-09-09  1361  	struct amdgpu_bo_va *bo_va = ctx_data->meta_data_va;
737dad0b5d609f Jack Xiao       2020-09-09  1362  	struct amdgpu_bo *bo = ctx_data->meta_data_obj;
737dad0b5d609f Jack Xiao       2020-09-09  1363  	struct amdgpu_vm *vm = bo_va->base.vm;
2acc73f81f2500 Christian König 2022-08-16  1364  	struct dma_fence *fence;
2acc73f81f2500 Christian König 2022-08-16  1365  	struct drm_exec exec;
2acc73f81f2500 Christian König 2022-08-16  1366  	long r;
2acc73f81f2500 Christian König 2022-08-16  1367  
05d249352f1ae9 Rob Clark       2023-11-20  1368  	drm_exec_init(&exec, 0, 0);
2acc73f81f2500 Christian König 2022-08-16  1369  	drm_exec_until_all_locked(&exec) {
2acc73f81f2500 Christian König 2022-08-16  1370  		r = drm_exec_lock_obj(&exec,
2acc73f81f2500 Christian König 2022-08-16  1371  				      &ctx_data->meta_data_obj->tbo.base);
2acc73f81f2500 Christian König 2022-08-16 @1372  		drm_exec_retry_on_contention(&exec);
2acc73f81f2500 Christian König 2022-08-16  1373  		if (unlikely(r))
2acc73f81f2500 Christian König 2022-08-16  1374  			goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1375  
2acc73f81f2500 Christian König 2022-08-16  1376  		r = amdgpu_vm_lock_pd(vm, &exec, 0);
2acc73f81f2500 Christian König 2022-08-16  1377  		drm_exec_retry_on_contention(&exec);
2acc73f81f2500 Christian König 2022-08-16  1378  		if (unlikely(r))
2acc73f81f2500 Christian König 2022-08-16  1379  			goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1380  	}
737dad0b5d609f Jack Xiao       2020-09-09  1381  
737dad0b5d609f Jack Xiao       2020-09-09  1382  	amdgpu_vm_bo_del(adev, bo_va);
737dad0b5d609f Jack Xiao       2020-09-09  1383  	if (!amdgpu_vm_ready(vm))
737dad0b5d609f Jack Xiao       2020-09-09  1384  		goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1385  
2acc73f81f2500 Christian König 2022-08-16  1386  	r = dma_resv_get_singleton(bo->tbo.base.resv, DMA_RESV_USAGE_BOOKKEEP,
2acc73f81f2500 Christian König 2022-08-16  1387  				   &fence);
737dad0b5d609f Jack Xiao       2020-09-09  1388  	if (r)
737dad0b5d609f Jack Xiao       2020-09-09  1389  		goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1390  	if (fence) {
737dad0b5d609f Jack Xiao       2020-09-09  1391  		amdgpu_bo_fence(bo, fence, true);
737dad0b5d609f Jack Xiao       2020-09-09  1392  		fence = NULL;
737dad0b5d609f Jack Xiao       2020-09-09  1393  	}
737dad0b5d609f Jack Xiao       2020-09-09  1394  
737dad0b5d609f Jack Xiao       2020-09-09  1395  	r = amdgpu_vm_clear_freed(adev, vm, &fence);
737dad0b5d609f Jack Xiao       2020-09-09  1396  	if (r || !fence)
737dad0b5d609f Jack Xiao       2020-09-09  1397  		goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1398  
737dad0b5d609f Jack Xiao       2020-09-09  1399  	dma_fence_wait(fence, false);
737dad0b5d609f Jack Xiao       2020-09-09  1400  	amdgpu_bo_fence(bo, fence, true);
737dad0b5d609f Jack Xiao       2020-09-09  1401  	dma_fence_put(fence);
737dad0b5d609f Jack Xiao       2020-09-09  1402  
737dad0b5d609f Jack Xiao       2020-09-09  1403  out_unlock:
737dad0b5d609f Jack Xiao       2020-09-09  1404  	if (unlikely(r < 0))
737dad0b5d609f Jack Xiao       2020-09-09  1405  		dev_err(adev->dev, "failed to clear page tables (%ld)\n", r);
2acc73f81f2500 Christian König 2022-08-16  1406  	drm_exec_fini(&exec);
737dad0b5d609f Jack Xiao       2020-09-09  1407  
737dad0b5d609f Jack Xiao       2020-09-09  1408  	return r;
737dad0b5d609f Jack Xiao       2020-09-09  1409  }
737dad0b5d609f Jack Xiao       2020-09-09  1410  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux