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 --]
next prev 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.