From: Matthew Brost <matthew.brost@intel.com>
To: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Cc: <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH v2 2/4] drm/xe/multi_queue: handle CGP_SYNC wait timeout during VF recovery
Date: Mon, 3 Aug 2026 10:06:05 -0700 [thread overview]
Message-ID: <anDKfYL3kCpI9Lza@gsse-cloud1.jf.intel.com> (raw)
In-Reply-To: <20260731232625.3313657-8-niranjana.vishwanathapura@intel.com>
On Fri, Jul 31, 2026 at 04:26:25PM -0700, Niranjana Vishwanathapura wrote:
> The CGP_SYNC wait in xe_guc_exec_queue_group_cgp_sync() only woke on
> sync_pending clearing or GuC stop. During VF migration the CT wakes all
> waiters but sync_pending may still be set (the GuC lost the in-flight
> message), causing the timeout path to fire and ban the group.
>
> Add vf_recovery() as a third wake condition and exclude it from the
> error path so a migration-woken wait returns success rather than
> triggering a GT reset.
>
> Assisted-by: Github-Copilot:Claude-opus-4.8
> Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> ---
> drivers/gpu/drm/xe/xe_guc_submit.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index 314747336fb9..13d0ab8052e5 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -815,13 +815,12 @@ static void xe_guc_exec_queue_group_cgp_sync(struct xe_guc *guc,
> * Hence, no locking is required here.
> * Wait for any pending CGP_SYNC_DONE response before updating the
> * CGP page and sending CGP_SYNC message.
> - *
> - * FIXME: Support VF migration
> */
> ret = wait_event_timeout(guc->ct.wq,
> !READ_ONCE(group->sync_pending) ||
> - xe_guc_read_stopped(guc), HZ);
> - if (!ret || xe_guc_read_stopped(guc)) {
> + xe_guc_read_stopped(guc) || vf_recovery(guc),
> + HZ);
> + if ((!ret && !vf_recovery(guc)) || xe_guc_read_stopped(guc)) {
> /* CGP_SYNC failed. Reset gt, cleanup the group */
> xe_gt_warn(guc_to_gt(guc), "Wait for CGP_SYNC_DONE response failed!\n");
> set_exec_queue_group_banned(q);
> --
> 2.43.0
>
next prev parent reply other threads:[~2026-08-03 17:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-31 23:26 [PATCH v2 0/4] drm/xe/multi_queue: Handle lost message during VF migration Niranjana Vishwanathapura
2026-07-31 23:26 ` [PATCH v2 1/4] drm/xe: split VF pause into prepare and revert phases Niranjana Vishwanathapura
2026-08-03 16:55 ` Matthew Brost
2026-07-31 23:26 ` [PATCH v2 2/4] drm/xe/multi_queue: handle CGP_SYNC wait timeout during VF recovery Niranjana Vishwanathapura
2026-08-03 17:06 ` Matthew Brost [this message]
2026-07-31 23:26 ` [PATCH v2 3/4] drm/xe/multi_queue: track and recover lost CGP updates across VF migration Niranjana Vishwanathapura
2026-08-03 19:19 ` Matthew Brost
2026-07-31 23:26 ` [PATCH v2 4/4] drm/xe/multi_queue: replay dynamic CGP updates lost during " Niranjana Vishwanathapura
2026-08-03 19:20 ` Matthew Brost
2026-07-31 23:33 ` ✓ CI.KUnit: success for drm/xe/multi_queue: Handle lost message during VF migration (rev3) Patchwork
2026-08-01 0:25 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-01 1:08 ` ✓ Xe.CI.FULL: " 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=anDKfYL3kCpI9Lza@gsse-cloud1.jf.intel.com \
--to=matthew.brost@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=niranjana.vishwanathapura@intel.com \
/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.