[Intel-gfx] [PATCH] drm/i915: Defer declaration of missed-interrupt until the waiter is asleep

kbuild test robot lkp at intel.com
Thu Feb 16 17:59:30 UTC 2017


Hi Chris,

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.10-rc8 next-20170216]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Defer-declaration-of-missed-interrupt-until-the-waiter-is-asleep/20170217-013743
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-x008-201707 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/intel_breadcrumbs.c: In function 'intel_breadcrumbs_hangcheck':
>> drivers/gpu/drm/i915/intel_breadcrumbs.c:47:28: error: implicit declaration of function 'wait_timeout' [-Werror=implicit-function-declaration]
      mod_timer(&b->hangcheck, wait_timeout());
                               ^~~~~~~~~~~~
   drivers/gpu/drm/i915/intel_breadcrumbs.c: At top level:
>> drivers/gpu/drm/i915/intel_breadcrumbs.c:67:22: error: conflicting types for 'wait_timeout'
    static unsigned long wait_timeout(void)
                         ^~~~~~~~~~~~
   drivers/gpu/drm/i915/intel_breadcrumbs.c:47:28: note: previous implicit declaration of 'wait_timeout' was here
      mod_timer(&b->hangcheck, wait_timeout());
                               ^~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/wait_timeout +47 drivers/gpu/drm/i915/intel_breadcrumbs.c

    41	
    42		/* If the waiter was currently running, assume it hasn't had a chance
    43		 * to process the pending interupt (e.g, low priority task on a loaded
    44		 * system) and wait until it sleeps before declaring a missed interrupt.
    45		 */
    46		if (!intel_engine_wakeup(engine)) {
  > 47			mod_timer(&b->hangcheck, wait_timeout());
    48			return;
    49		}
    50	
    51		DRM_DEBUG("Hangcheck timer elapsed... %s idle\n", engine->name);
    52		set_bit(engine->id, &engine->i915->gpu_error.missed_irq_rings);
    53		mod_timer(&engine->breadcrumbs.fake_irq, jiffies + 1);
    54	
    55		/* Ensure that even if the GPU hangs, we get woken up.
    56		 *
    57		 * However, note that if no one is waiting, we never notice
    58		 * a gpu hang. Eventually, we will have to wait for a resource
    59		 * held by the GPU and so trigger a hangcheck. In the most
    60		 * pathological case, this will be upon memory starvation! To
    61		 * prevent this, we also queue the hangcheck from the retire
    62		 * worker.
    63		 */
    64		i915_queue_hangcheck(engine->i915);
    65	}
    66	
  > 67	static unsigned long wait_timeout(void)
    68	{
    69		return round_jiffies_up(jiffies + DRM_I915_HANGCHECK_JIFFIES);
    70	}

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 31295 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20170217/69f9e99b/attachment-0001.gz>


More information about the Intel-gfx mailing list