Re: [PATCH v3] drm/i915: Speed up idle detection by kicking the tasklets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 v4.17-rc4 next-20180504]
[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-Speed-up-idle-detection-by-kicking-the-tasklets/20180507-184057
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x0-05071422 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpu//drm/i915/intel_engine_cs.c: In function 'intel_engine_is_idle':
>> drivers/gpu//drm/i915/intel_engine_cs.c:954:3: error: implicit declaration of function 'execlists_tasklet' [-Werror=implicit-function-declaration]
      execlists_tasklet(&engine->execlists);
      ^
   cc1: some warnings being treated as errors

vim +/execlists_tasklet +954 drivers/gpu//drm/i915/intel_engine_cs.c

   923	
   924	/**
   925	 * intel_engine_is_idle() - Report if the engine has finished process all work
   926	 * @engine: the intel_engine_cs
   927	 *
   928	 * Return true if there are no requests pending, nothing left to be submitted
   929	 * to hardware, and that the engine is idle.
   930	 */
   931	bool intel_engine_is_idle(struct intel_engine_cs *engine)
   932	{
   933		struct drm_i915_private *dev_priv = engine->i915;
   934	
   935		/* More white lies, if wedged, hw state is inconsistent */
   936		if (i915_terminally_wedged(&dev_priv->gpu_error))
   937			return true;
   938	
   939		/* Any inflight/incomplete requests? */
   940		if (!i915_seqno_passed(intel_engine_get_seqno(engine),
   941				       intel_engine_last_submit(engine)))
   942			return false;
   943	
   944		if (I915_SELFTEST_ONLY(engine->breadcrumbs.mock))
   945			return true;
   946	
   947		/*
   948		 * ksoftirqd has notorious latency that may cause us to
   949		 * timeout while waiting for the engine to idle as we wait for
   950		 * ksoftirqd to run the execlists tasklet to drain the ELSP.
   951		 * If we are expecting a context switch from the GPU, check now.
   952		 */
   953		if (test_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted))
 > 954			execlists_tasklet(&engine->execlists);
   955	
   956		/* Waiting to drain ELSP? */
   957		if (READ_ONCE(engine->execlists.active))
   958			return false;
   959	
   960		/* ELSP is empty, but there are ready requests? E.g. after reset */
   961		if (READ_ONCE(engine->execlists.first))
   962			return false;
   963	
   964		/* Ring stopped? */
   965		if (!ring_is_idle(engine))
   966			return false;
   967	
   968		return true;
   969	}
   970	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

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

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux