From: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>
To: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Cc: "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH v1 0/3] Resolve suspend-resume racing with GuC destroy-context-worker
Date: Wed, 2 Aug 2023 23:52:16 +0000 [thread overview]
Message-ID: <b100ecc491f5f4ec3eb928b976e966c074c60cbe.camel@intel.com> (raw)
In-Reply-To: <20230802233501.17074-1-alan.previn.teres.alexis@intel.com>
On Wed, 2023-08-02 at 16:34 -0700, Teres Alexis, Alan Previn wrote:
> This series is the result of debugging issues root caused to
> races between the GuC's destroyed_worker_func being triggered vs
> repeating suspend-resume cycles with concurrent delayed
> fence signals for engine-freeing.
>
> The reproduction steps require that an app is created right before
> the start of the suspend cycle where it creates a new gem
> context and submits a tiny workload that would complete in the
> middle of the suspend cycle. However this app uses dma-buffer
> sharing or dma-fence with non-GPU objects or signals that
> eventually triggers a FENCE_FREE via__i915_sw_fence_notify that
> connects to engines_notify -> free_engines_rcu ->
> intel_context_put -> kref_put(&ce->ref..) that queues the
> worker after the GuCs CTB has been disabled (i.e. after
> i915-gem's suspend-late flows).
>
As an FYI - in offline conversations with John and Daniele, we have agreed
that at least the first two of the patches in this are necessary improvements
but the last patch may remain open as further offline debug is continuing
to pin down the src of the above fence-signal-flow. For now we are hoping
to proceed with reviewing the first two patches and only look into the 3rd
patch if there are system level fence signalling that truly can trigger
this anomaly or if its just a straddling request somewhere within i915
that has appeared or hung at the wrong time which needs to be fixed.
alan:snip
next prev parent reply other threads:[~2023-08-02 23:52 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-02 23:34 [Intel-gfx] [PATCH v1 0/3] Resolve suspend-resume racing with GuC destroy-context-worker Alan Previn
2023-08-02 23:34 ` [Intel-gfx] [PATCH v1 1/3] drm/i915/guc: Flush context destruction worker at suspend Alan Previn
2023-08-07 17:52 ` Rodrigo Vivi
2023-08-09 21:09 ` Teres Alexis, Alan Previn
2023-08-15 0:49 ` Teres Alexis, Alan Previn
2023-08-02 23:35 ` [Intel-gfx] [PATCH v1 2/3] drm/i915/guc: Close deregister-context race against CT-loss Alan Previn
2023-08-10 3:39 ` Teres Alexis, Alan Previn
2023-08-02 23:35 ` [Intel-gfx] [PATCH v1 3/3] drm/i915/gt: Timeout when waiting for idle in suspending Alan Previn
2023-08-07 17:56 ` Rodrigo Vivi
2023-08-09 19:38 ` Teres Alexis, Alan Previn
2023-08-02 23:52 ` Teres Alexis, Alan Previn [this message]
2023-08-03 0:10 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Resolve suspend-resume racing with GuC destroy-context-worker Patchwork
2023-08-03 0:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-08-03 5:41 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=b100ecc491f5f4ec3eb928b976e966c074c60cbe.camel@intel.com \
--to=alan.previn.teres.alexis@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox