Hi "Thomas,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next 
drm/drm-next tegra-drm/drm/tegra/for-next airlied/drm-next v5.15-rc7 
next-20211029]
[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/Thomas-Hellstr-m/Prepare-error-capture-for-asynchronous-migration/20211029-162401
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: x86_64-randconfig-a016-20211029 (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/8f96eab37bc957404f16471b6dea28c82a1b7d40
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Thomas-Hellstr-m/Prepare-error-capture-for-asynchronous-migration/20211029-162401
        git checkout 8f96eab37bc957404f16471b6dea28c82a1b7d40
        # 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 errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/i915_request.c: In function 'i915_fence_release':
>> drivers/gpu/drm/i915/i915_request.c:116:2: error: implicit declaration of 
>> function 'i915_request_free_capture_list' 
>> [-Werror=implicit-function-declaration]
     116 |  i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
         |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/i915/i915_active_types.h:18,
                    from drivers/gpu/drm/i915/gt/intel_context_types.h:15,
                    from drivers/gpu/drm/i915/gem/i915_gem_context_types.h:20,
                    from drivers/gpu/drm/i915/gem/i915_gem_context.h:10,
                    from drivers/gpu/drm/i915/i915_request.c:33:
>> drivers/gpu/drm/i915/i915_request.c:116:51: error: 'struct i915_request' has 
>> no member named 'capture_list'
     116 |  i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
         |                                                   ^~
   drivers/gpu/drm/i915/i915_utils.h:199:10: note: in definition of macro 
'fetch_and_zero'
     199 |  typeof(*ptr) __T = *(ptr);     \
         |          ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:51: error: 'struct i915_request' has 
>> no member named 'capture_list'
     116 |  i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
         |                                                   ^~
   drivers/gpu/drm/i915/i915_utils.h:199:23: note: in definition of macro 
'fetch_and_zero'
     199 |  typeof(*ptr) __T = *(ptr);     \
         |                       ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:51: error: 'struct i915_request' has 
>> no member named 'capture_list'
     116 |  i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
         |                                                   ^~
   drivers/gpu/drm/i915/i915_utils.h:200:4: note: in definition of macro 
'fetch_and_zero'
     200 |  *(ptr) = (typeof(*ptr))0;     \
         |    ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:51: error: 'struct i915_request' has 
>> no member named 'capture_list'
     116 |  i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
         |                                                   ^~
   drivers/gpu/drm/i915/i915_utils.h:200:20: note: in definition of macro 
'fetch_and_zero'
     200 |  *(ptr) = (typeof(*ptr))0;     \
         |                    ^~~
   cc1: some warnings being treated as errors


vim +/i915_request_free_capture_list +116 drivers/gpu/drm/i915/i915_request.c

   108  
   109  static void i915_fence_release(struct dma_fence *fence)
   110  {
   111          struct i915_request *rq = to_request(fence);
   112  
   113          GEM_BUG_ON(rq->guc_prio != GUC_PRIO_INIT &&
   114                     rq->guc_prio != GUC_PRIO_FINI);
   115  
 > 116          
 > i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
   117          if (i915_vma_snapshot_present(&rq->batch_snapshot))
   118                  i915_vma_snapshot_put_onstack(&rq->batch_snapshot);
   119  
   120          /*
   121           * The request is put onto a RCU freelist (i.e. the address
   122           * is immediately reused), mark the fences as being freed now.
   123           * Otherwise the debugobjects for the fences are only marked as
   124           * freed when the slab cache itself is freed, and so we would 
get
   125           * caught trying to reuse dead objects.
   126           */
   127          i915_sw_fence_fini(&rq->submit);
   128          i915_sw_fence_fini(&rq->semaphore);
   129  
   130          /*
   131           * Keep one request on each engine for reserved use under 
mempressure,
   132           * do not use with virtual engines as this really is only 
needed for
   133           * kernel contexts.
   134           */
   135          if (!intel_engine_is_virtual(rq->engine) &&
   136              !cmpxchg(&rq->engine->request_pool, NULL, rq)) {
   137                  intel_context_put(rq->context);
   138                  return;
   139          }
   140  
   141          intel_context_put(rq->context);
   142  
   143          kmem_cache_free(slab_requests, rq);
   144  }
   145  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to