All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	maarten.lankhorst@linux.intel.com, matthew.auld@intel.com,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Subject: Re: [Intel-gfx] [PATCH v4 2/4] drm/i915: Update error capture code to avoid using the current vma state
Date: Sat, 30 Oct 2021 20:57:18 +0800	[thread overview]
Message-ID: <202110302046.cJDdzLXb-lkp@intel.com> (raw)
In-Reply-To: <20211029082156.194003-3-thomas.hellstrom@linux.intel.com>

[-- Attachment #1: Type: text/plain, Size: 5752 bytes --]

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-a013-20211028 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5db7568a6a1fcb408eb8988abdaff2a225a8eb72)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # 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
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64 

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

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/i915/i915_request.c:116:2: error: implicit declaration of function 'i915_request_free_capture_list' [-Werror,-Wimplicit-function-declaration]
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
           ^
>> drivers/gpu/drm/i915/i915_request.c:116:53: error: no member named 'capture_list' in 'struct i915_request'
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                                          ~~  ^
   drivers/gpu/drm/i915/i915_utils.h:199:10: note: expanded from macro 'fetch_and_zero'
           typeof(*ptr) __T = *(ptr);                                      \
                   ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:53: error: no member named 'capture_list' in 'struct i915_request'
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                                          ~~  ^
   drivers/gpu/drm/i915/i915_utils.h:199:23: note: expanded from macro 'fetch_and_zero'
           typeof(*ptr) __T = *(ptr);                                      \
                                ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:53: error: no member named 'capture_list' in 'struct i915_request'
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                                          ~~  ^
   drivers/gpu/drm/i915/i915_utils.h:200:4: note: expanded from macro 'fetch_and_zero'
           *(ptr) = (typeof(*ptr))0;                                       \
             ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:53: error: no member named 'capture_list' in 'struct i915_request'
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                                          ~~  ^
   drivers/gpu/drm/i915/i915_utils.h:200:20: note: expanded from macro 'fetch_and_zero'
           *(ptr) = (typeof(*ptr))0;                                       \
                             ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:33: error: argument type 'void' is incomplete
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/i915_utils.h:198:29: note: expanded from macro 'fetch_and_zero'
   #define fetch_and_zero(ptr) ({                                          \
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   6 errors generated.


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-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34953 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [Intel-gfx] [PATCH v4 2/4] drm/i915: Update error capture code to avoid using the current vma state
Date: Sat, 30 Oct 2021 20:57:18 +0800	[thread overview]
Message-ID: <202110302046.cJDdzLXb-lkp@intel.com> (raw)
In-Reply-To: <20211029082156.194003-3-thomas.hellstrom@linux.intel.com>

[-- Attachment #1: Type: text/plain, Size: 5863 bytes --]

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-a013-20211028 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5db7568a6a1fcb408eb8988abdaff2a225a8eb72)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # 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
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64 

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

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/i915/i915_request.c:116:2: error: implicit declaration of function 'i915_request_free_capture_list' [-Werror,-Wimplicit-function-declaration]
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
           ^
>> drivers/gpu/drm/i915/i915_request.c:116:53: error: no member named 'capture_list' in 'struct i915_request'
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                                          ~~  ^
   drivers/gpu/drm/i915/i915_utils.h:199:10: note: expanded from macro 'fetch_and_zero'
           typeof(*ptr) __T = *(ptr);                                      \
                   ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:53: error: no member named 'capture_list' in 'struct i915_request'
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                                          ~~  ^
   drivers/gpu/drm/i915/i915_utils.h:199:23: note: expanded from macro 'fetch_and_zero'
           typeof(*ptr) __T = *(ptr);                                      \
                                ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:53: error: no member named 'capture_list' in 'struct i915_request'
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                                          ~~  ^
   drivers/gpu/drm/i915/i915_utils.h:200:4: note: expanded from macro 'fetch_and_zero'
           *(ptr) = (typeof(*ptr))0;                                       \
             ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:53: error: no member named 'capture_list' in 'struct i915_request'
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                                          ~~  ^
   drivers/gpu/drm/i915/i915_utils.h:200:20: note: expanded from macro 'fetch_and_zero'
           *(ptr) = (typeof(*ptr))0;                                       \
                             ^~~
>> drivers/gpu/drm/i915/i915_request.c:116:33: error: argument type 'void' is incomplete
           i915_request_free_capture_list(fetch_and_zero(&rq->capture_list));
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/i915_utils.h:198:29: note: expanded from macro 'fetch_and_zero'
   #define fetch_and_zero(ptr) ({                                          \
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   6 errors generated.


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-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34953 bytes --]

  parent reply	other threads:[~2021-10-30 12:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-29  8:21 [PATCH v4 0/4] Prepare error capture for asynchronous migration Thomas Hellström
2021-10-29  8:21 ` [Intel-gfx] " Thomas Hellström
2021-10-29  8:21 ` [PATCH v4 1/4] drm/i915: Introduce refcounted sg-tables Thomas Hellström
2021-10-29  8:21   ` [Intel-gfx] " Thomas Hellström
2021-11-01 11:51   ` Matthew Auld
2021-10-29  8:21 ` [PATCH v4 2/4] drm/i915: Update error capture code to avoid using the current vma state Thomas Hellström
2021-10-29  8:21   ` [Intel-gfx] " Thomas Hellström
2021-10-30 11:47   ` kernel test robot
2021-10-30 11:47     ` kernel test robot
2021-10-30 12:57   ` kernel test robot [this message]
2021-10-30 12:57     ` kernel test robot
2021-10-29  8:21 ` [PATCH v4 3/4] drm/i915: Use GFP_NOWAIT in the capture code Thomas Hellström
2021-10-29  8:21   ` [Intel-gfx] " Thomas Hellström
2021-10-29  8:21 ` [PATCH v4 4/4] drm/i915: Initial introduction of vma resources Thomas Hellström
2021-10-29  8:21   ` [Intel-gfx] " Thomas Hellström
2021-10-29 11:11 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Prepare error capture for asynchronous migration (rev5) Patchwork
2021-10-29 11:43 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-10-29 19:33 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202110302046.cJDdzLXb-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kbuild-all@lists.01.org \
    --cc=llvm@lists.linux.dev \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=matthew.auld@intel.com \
    --cc=thomas.hellstrom@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.