All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [RFC PATCH 83/97] drm/i915/guc: Don't return -EAGAIN to user when guc_ids exhausted
Date: Fri, 07 May 2021 08:40:25 +0800	[thread overview]
Message-ID: <202105070803.dihUDuDV-lkp@intel.com> (raw)

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

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210506191451.77768-84-matthew.brost@intel.com>
References: <20210506191451.77768-84-matthew.brost@intel.com>
TO: Matthew Brost <matthew.brost@intel.com>

Hi Matthew,

[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next drm/drm-next v5.12 next-20210506]
[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/Matthew-Brost/Basic-GuC-submission-support-in-the-i915/20210507-030308
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
:::::: branch date: 6 hours ago
:::::: commit date: 6 hours ago
config: i386-randconfig-s002-20210506 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://github.com/0day-ci/linux/commit/07a654f75149663bf7c39bab3c2087cefcb73799
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Matthew-Brost/Basic-GuC-submission-support-in-the-i915/20210507-030308
        git checkout 07a654f75149663bf7c39bab3c2087cefcb73799
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2160:26: sparse: sparse: context imbalance in 'retire_worker_sched_disable' - different lock contexts for basic block

vim +/retire_worker_sched_disable +2160 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c

07a654f7514966 Matthew Brost 2021-05-06  2101  
07a654f7514966 Matthew Brost 2021-05-06  2102  static void retire_worker_sched_disable(struct intel_guc *guc,
07a654f7514966 Matthew Brost 2021-05-06  2103  					struct intel_context *ce)
07a654f7514966 Matthew Brost 2021-05-06  2104  {
07a654f7514966 Matthew Brost 2021-05-06  2105  	unsigned long flags;
07a654f7514966 Matthew Brost 2021-05-06  2106  	bool disabled;
07a654f7514966 Matthew Brost 2021-05-06  2107  
07a654f7514966 Matthew Brost 2021-05-06  2108  	guc->stalled_context = NULL;
07a654f7514966 Matthew Brost 2021-05-06  2109  	spin_lock_irqsave(&ce->guc_state.lock, flags);
07a654f7514966 Matthew Brost 2021-05-06  2110  	disabled = submission_disabled(guc);
07a654f7514966 Matthew Brost 2021-05-06  2111  	if (!disabled && !context_pending_disable(ce) && context_enabled(ce)) {
07a654f7514966 Matthew Brost 2021-05-06  2112  		/*
07a654f7514966 Matthew Brost 2021-05-06  2113  		 * Still enabled, issue schedule disable + configure state so
07a654f7514966 Matthew Brost 2021-05-06  2114  		 * when G2H returns tasklet is kicked.
07a654f7514966 Matthew Brost 2021-05-06  2115  		 */
07a654f7514966 Matthew Brost 2021-05-06  2116  
07a654f7514966 Matthew Brost 2021-05-06  2117  		struct intel_runtime_pm *runtime_pm =
07a654f7514966 Matthew Brost 2021-05-06  2118  			&ce->engine->gt->i915->runtime_pm;
07a654f7514966 Matthew Brost 2021-05-06  2119  		intel_wakeref_t wakeref;
07a654f7514966 Matthew Brost 2021-05-06  2120  		u16 guc_id;
07a654f7514966 Matthew Brost 2021-05-06  2121  
07a654f7514966 Matthew Brost 2021-05-06  2122  		/*
07a654f7514966 Matthew Brost 2021-05-06  2123  		 * We add +2 here as the schedule disable complete CTB handler
07a654f7514966 Matthew Brost 2021-05-06  2124  		 * calls intel_context_sched_disable_unpin (-2 to pin_count).
07a654f7514966 Matthew Brost 2021-05-06  2125  		 */
07a654f7514966 Matthew Brost 2021-05-06  2126  		GEM_BUG_ON(!atomic_read(&ce->pin_count));
07a654f7514966 Matthew Brost 2021-05-06  2127  		atomic_add(2, &ce->pin_count);
07a654f7514966 Matthew Brost 2021-05-06  2128  
07a654f7514966 Matthew Brost 2021-05-06  2129  		set_context_block_tasklet(ce);
07a654f7514966 Matthew Brost 2021-05-06  2130  		guc_id = prep_context_pending_disable(ce);
07a654f7514966 Matthew Brost 2021-05-06  2131  		spin_unlock_irqrestore(&ce->guc_state.lock, flags);
07a654f7514966 Matthew Brost 2021-05-06  2132  
07a654f7514966 Matthew Brost 2021-05-06  2133  		with_intel_runtime_pm(runtime_pm, wakeref)
07a654f7514966 Matthew Brost 2021-05-06  2134  			__guc_context_sched_disable(guc, ce, guc_id);
07a654f7514966 Matthew Brost 2021-05-06  2135  
07a654f7514966 Matthew Brost 2021-05-06  2136  		invalidate_guc_id_sched_disable(ce);
07a654f7514966 Matthew Brost 2021-05-06  2137  	} else if (!disabled && context_pending_disable(ce)) {
07a654f7514966 Matthew Brost 2021-05-06  2138  		/*
07a654f7514966 Matthew Brost 2021-05-06  2139  		 * Schedule disable in flight, set bit to kick tasklet in G2H
07a654f7514966 Matthew Brost 2021-05-06  2140  		 * handler and call it a day.
07a654f7514966 Matthew Brost 2021-05-06  2141  		 */
07a654f7514966 Matthew Brost 2021-05-06  2142  
07a654f7514966 Matthew Brost 2021-05-06  2143  		set_context_block_tasklet(ce);
07a654f7514966 Matthew Brost 2021-05-06  2144  		spin_unlock_irqrestore(&ce->guc_state.lock, flags);
07a654f7514966 Matthew Brost 2021-05-06  2145  
07a654f7514966 Matthew Brost 2021-05-06  2146  		invalidate_guc_id_sched_disable(ce);
07a654f7514966 Matthew Brost 2021-05-06  2147  	} else if (disabled || !context_enabled(ce)) {
07a654f7514966 Matthew Brost 2021-05-06  2148  		/* Schedule disable is done, kick tasklet */
07a654f7514966 Matthew Brost 2021-05-06  2149  
07a654f7514966 Matthew Brost 2021-05-06  2150  		spin_unlock_irqrestore(&ce->guc_state.lock, flags);
07a654f7514966 Matthew Brost 2021-05-06  2151  
07a654f7514966 Matthew Brost 2021-05-06  2152  		invalidate_guc_id_sched_disable(ce);
07a654f7514966 Matthew Brost 2021-05-06  2153  
07a654f7514966 Matthew Brost 2021-05-06  2154  		guc->submission_stall_reason = STALL_REGISTER_CONTEXT;
07a654f7514966 Matthew Brost 2021-05-06  2155  		clr_tasklet_blocked(guc);
07a654f7514966 Matthew Brost 2021-05-06  2156  
07a654f7514966 Matthew Brost 2021-05-06  2157  		kick_tasklet(ce_to_guc(ce));
07a654f7514966 Matthew Brost 2021-05-06  2158  	}
07a654f7514966 Matthew Brost 2021-05-06  2159  
07a654f7514966 Matthew Brost 2021-05-06 @2160  	intel_context_put(ce);
07a654f7514966 Matthew Brost 2021-05-06  2161  }
07a654f7514966 Matthew Brost 2021-05-06  2162  

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

             reply	other threads:[~2021-05-07  0:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-07  0:40 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-05-06 19:13 [Intel-gfx] [RFC PATCH 00/97] Basic GuC submission support in the i915 Matthew Brost
2021-05-06 19:14 ` [RFC PATCH 83/97] drm/i915/guc: Don't return -EAGAIN to user when guc_ids exhausted Matthew Brost
2021-05-07  6:06   ` kernel test robot

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=202105070803.dihUDuDV-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@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.