[Intel-gfx] [PATCH 1/2] drm/i915/gem: Almagamate clflushes on suspend

kernel test robot lkp at intel.com
Mon Jan 4 19:43:44 UTC 2021


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 at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 35304 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20210105/70eae017/attachment-0001.gz>


More information about the Intel-gfx mailing list