Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/3] VF double migration
@ 2025-11-24 16:07 Satyanarayana K V P
  2025-11-24 16:07 ` [PATCH v6 1/3] drm/xe/vf: Enable VF migration only on supported GuC versions Satyanarayana K V P
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Satyanarayana K V P @ 2025-11-24 16:07 UTC (permalink / raw)
  To: intel-xe; +Cc: Satyanarayana K V P

 In scenarios involving double migration, the VF KMD may encounter
 situations where it is instructed to re-migrate before having the
 opportunity to send RESFIX_DONE for the initial migration. This can occur
 when the fix-up for the prior migration is still underway, but the VF KMD
 is migrated again.

 Consequently, this may lead to the possibility of sending two migration
 notifications (i.e., pending fix-up for the first migration and a second
 notification for the new migration). Upon receiving the first RES_FIX
 notification, the GuC will resume VF submission on the GPU, potentially
 resulting in undefined behavior, such as system hangs or crashes.

 To avoid these hangs, a new VF2GUC action `VF2GUC_RESFIX_START` is
 sent along with marker and when GUC receives the same marker with
 `VF2GUC_RESFIX_DONE`action, it starts scheduling work loads from VF.

 ---
 V5 -> V6:
 - Fixed review comments (Michal W).
- Updated resfix_done and res_fix_start function names.
- Handled XE_GUC_RESPONSE_VF_MIGRATED error case received from GuC.
- Remove skip_resfix error when another migration is in queue.
- Fixed review comments (Michal W).
- Removed timeout and VF KMD waits infinately when resfix_stoppers bits
are set.
- Created helper macro for WAIT positions.

 V4 -> V5:
 - Fixed review comments (Michal W).
 - Created new function vf_migration_init_late().
 - Fixed minor debug log levels and documentation part.
 - Moved complete marker logic to vf_post_migration_resfix_start_marker()
 - Updated debugfs entries.

 V3 -> V4:
 - Gated Save/restore on Guc version 70.54.0
 - Enabled RESFIX_START by default.
 - Updated RESFIX_DONE documention.

 V2 -> V3:
 - Fixed review comments (Michal W).
 - Updated commit message.
 - Fixed CI.BAT issues.
 - Added helper function to assert on unsupported GUC versions.
 - Added debugfs entries to test VF double migration.

 V1 -> V2:
 - Squashed "Enable RESFIX start marker only on supported GUC
 versions" commit into a single commit. (Matt B)
 - Use fault injection for testing VF double  migration feature (Matt B).

Satyanarayana K V P (3):
  drm/xe/vf: Enable VF migration only on supported GuC versions
  drm/xe/vf: Introduce RESFIX start marker support
  drm/xe/vf: Add debugfs entries to test VF double migration

 .../gpu/drm/xe/abi/guc_actions_sriov_abi.h    |  67 +++++++--
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c           | 137 ++++++++++++++----
 drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.c   |   5 +
 drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h     |  13 ++
 drivers/gpu/drm/xe/xe_guc.c                   |  13 +-
 drivers/gpu/drm/xe/xe_sriov_vf.c              |  59 +++++++-
 6 files changed, 252 insertions(+), 42 deletions(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-11-27 16:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-24 16:07 [PATCH v6 0/3] VF double migration Satyanarayana K V P
2025-11-24 16:07 ` [PATCH v6 1/3] drm/xe/vf: Enable VF migration only on supported GuC versions Satyanarayana K V P
2025-11-27 14:45   ` Michal Wajdeczko
2025-11-24 16:07 ` [PATCH v6 2/3] drm/xe/vf: Introduce RESFIX start marker support Satyanarayana K V P
2025-11-27 16:17   ` Michal Wajdeczko
2025-11-24 16:07 ` [PATCH v6 3/3] drm/xe/vf: Add debugfs entries to test VF double migration Satyanarayana K V P
2025-11-27 16:51   ` Michal Wajdeczko
2025-11-25  3:30 ` ✓ CI.KUnit: success for VF double migration (rev6) Patchwork
2025-11-25  4:08 ` ✓ Xe.CI.BAT: " Patchwork
2025-11-25  6:55 ` ✗ Xe.CI.Full: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox