All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Cc: clang-built-linux@googlegroups.com, kbuild-all@lists.01.org,
	Chris Wilson <chris@chris-wilson.co.uk>
Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/gem: Almagamate clflushes on suspend
Date: Tue, 5 Jan 2021 03:43:44 +0800	[thread overview]
Message-ID: <202101050359.bGAGGB9N-lkp@intel.com> (raw)
In-Reply-To: <20210104140135.26285-1-chris@chris-wilson.co.uk>

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

Hi Chris,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip v5.11-rc2 next-20210104]
[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/Chris-Wilson/drm-i915-gem-Almagamate-clflushes-on-suspend/20210104-220329
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-a004-20210105 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 98cd1c33e3c2c3cfee36fb0fea3285fda06224d3)
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
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/e17680e4b8352355fb03d0aeab4b0f16994fa2bd
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Chris-Wilson/drm-i915-gem-Almagamate-clflushes-on-suspend/20210104-220329
        git checkout e17680e4b8352355fb03d0aeab4b0f16994fa2bd
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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/gem/i915_gem_pm.c:78:3: error: implicit declaration of function 'wbinvd_on_all_cpus' [-Werror,-Wimplicit-function-declaration]
                   wbinvd_on_all_cpus();
                   ^
   1 error generated.


vim +/wbinvd_on_all_cpus +78 drivers/gpu/drm/i915/gem/i915_gem_pm.c

    34	
    35	void i915_gem_suspend_late(struct drm_i915_private *i915)
    36	{
    37		struct drm_i915_gem_object *obj;
    38		struct list_head *phases[] = {
    39			&i915->mm.shrink_list,
    40			&i915->mm.purge_list,
    41			NULL
    42		}, **phase;
    43		unsigned long flags;
    44		bool flush = false;
    45	
    46		/*
    47		 * Neither the BIOS, ourselves or any other kernel
    48		 * expects the system to be in execlists mode on startup,
    49		 * so we need to reset the GPU back to legacy mode. And the only
    50		 * known way to disable logical contexts is through a GPU reset.
    51		 *
    52		 * So in order to leave the system in a known default configuration,
    53		 * always reset the GPU upon unload and suspend. Afterwards we then
    54		 * clean up the GEM state tracking, flushing off the requests and
    55		 * leaving the system in a known idle state.
    56		 *
    57		 * Note that is of the upmost importance that the GPU is idle and
    58		 * all stray writes are flushed *before* we dismantle the backing
    59		 * storage for the pinned objects.
    60		 *
    61		 * However, since we are uncertain that resetting the GPU on older
    62		 * machines is a good idea, we don't - just in case it leaves the
    63		 * machine in an unusable condition.
    64		 */
    65	
    66		intel_gt_suspend_late(&i915->gt);
    67	
    68		spin_lock_irqsave(&i915->mm.obj_lock, flags);
    69		for (phase = phases; *phase; phase++) {
    70			list_for_each_entry(obj, *phase, mm.link) {
    71				if (!(obj->cache_coherent & I915_BO_CACHE_COHERENT_FOR_READ))
    72					flush |= (obj->read_domains & I915_GEM_DOMAIN_CPU) == 0;
    73				__start_cpu_write(obj); /* presume auto-hibernate */
    74			}
    75		}
    76		spin_unlock_irqrestore(&i915->mm.obj_lock, flags);
    77		if (flush)
  > 78			wbinvd_on_all_cpus();
    79	}
    80	

---
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: 35304 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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 1/2] drm/i915/gem: Almagamate clflushes on suspend
Date: Tue, 05 Jan 2021 03:43:44 +0800	[thread overview]
Message-ID: <202101050359.bGAGGB9N-lkp@intel.com> (raw)
In-Reply-To: <20210104140135.26285-1-chris@chris-wilson.co.uk>

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

Hi Chris,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip v5.11-rc2 next-20210104]
[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/Chris-Wilson/drm-i915-gem-Almagamate-clflushes-on-suspend/20210104-220329
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-a004-20210105 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 98cd1c33e3c2c3cfee36fb0fea3285fda06224d3)
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
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/e17680e4b8352355fb03d0aeab4b0f16994fa2bd
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Chris-Wilson/drm-i915-gem-Almagamate-clflushes-on-suspend/20210104-220329
        git checkout e17680e4b8352355fb03d0aeab4b0f16994fa2bd
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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/gem/i915_gem_pm.c:78:3: error: implicit declaration of function 'wbinvd_on_all_cpus' [-Werror,-Wimplicit-function-declaration]
                   wbinvd_on_all_cpus();
                   ^
   1 error generated.


vim +/wbinvd_on_all_cpus +78 drivers/gpu/drm/i915/gem/i915_gem_pm.c

    34	
    35	void i915_gem_suspend_late(struct drm_i915_private *i915)
    36	{
    37		struct drm_i915_gem_object *obj;
    38		struct list_head *phases[] = {
    39			&i915->mm.shrink_list,
    40			&i915->mm.purge_list,
    41			NULL
    42		}, **phase;
    43		unsigned long flags;
    44		bool flush = false;
    45	
    46		/*
    47		 * Neither the BIOS, ourselves or any other kernel
    48		 * expects the system to be in execlists mode on startup,
    49		 * so we need to reset the GPU back to legacy mode. And the only
    50		 * known way to disable logical contexts is through a GPU reset.
    51		 *
    52		 * So in order to leave the system in a known default configuration,
    53		 * always reset the GPU upon unload and suspend. Afterwards we then
    54		 * clean up the GEM state tracking, flushing off the requests and
    55		 * leaving the system in a known idle state.
    56		 *
    57		 * Note that is of the upmost importance that the GPU is idle and
    58		 * all stray writes are flushed *before* we dismantle the backing
    59		 * storage for the pinned objects.
    60		 *
    61		 * However, since we are uncertain that resetting the GPU on older
    62		 * machines is a good idea, we don't - just in case it leaves the
    63		 * machine in an unusable condition.
    64		 */
    65	
    66		intel_gt_suspend_late(&i915->gt);
    67	
    68		spin_lock_irqsave(&i915->mm.obj_lock, flags);
    69		for (phase = phases; *phase; phase++) {
    70			list_for_each_entry(obj, *phase, mm.link) {
    71				if (!(obj->cache_coherent & I915_BO_CACHE_COHERENT_FOR_READ))
    72					flush |= (obj->read_domains & I915_GEM_DOMAIN_CPU) == 0;
    73				__start_cpu_write(obj); /* presume auto-hibernate */
    74			}
    75		}
    76		spin_unlock_irqrestore(&i915->mm.obj_lock, flags);
    77		if (flush)
  > 78			wbinvd_on_all_cpus();
    79	}
    80	

---
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: 35304 bytes --]

  parent reply	other threads:[~2021-01-04 19:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-04 14:01 [Intel-gfx] [PATCH 1/2] drm/i915/gem: Almagamate clflushes on suspend Chris Wilson
2021-01-04 14:01 ` [Intel-gfx] [PATCH 2/2] drm/i915/gem: Almagamate clflushes on freeze Chris Wilson
2021-01-04 20:34   ` kernel test robot
2021-01-04 20:34     ` kernel test robot
2021-01-04 17:04 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gem: Almagamate clflushes on suspend Patchwork
2021-01-04 19:43 ` kernel test robot [this message]
2021-01-04 19:43   ` [Intel-gfx] [PATCH 1/2] " kernel test robot
2021-01-04 20:19 ` [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/2] " 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=202101050359.bGAGGB9N-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=clang-built-linux@googlegroups.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kbuild-all@lists.01.org \
    /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.