Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/xe/guc/tlb: Flush g2h worker in case of tlb timeout
@ 2024-10-23 15:13 Nirmoy Das
  2024-10-23 22:42 ` Matthew Brost
                   ` (10 more replies)
  0 siblings, 11 replies; 20+ messages in thread
From: Nirmoy Das @ 2024-10-23 15:13 UTC (permalink / raw)
  To: intel-xe
  Cc: Nirmoy Das, Badal Nilawar, Matthew Brost, Matthew Auld,
	John Harrison, Himal Prasad Ghimiray, Lucas De Marchi

Flush the g2h worker explicitly if TLB timeout happens which is
observed on LNL and that points recent scheduling issue with E-cores.
This is similar to the recent fix:
commit e51527233804 ("drm/xe/guc/ct: Flush g2h worker in case of g2h
response timeout") and should be removed once there is E core
scheduling fix.

Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2687
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
---
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
index 773de1f08db9..2c327dccbd74 100644
--- a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
+++ b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
@@ -72,6 +72,15 @@ static void xe_gt_tlb_fence_timeout(struct work_struct *work)
 	struct xe_device *xe = gt_to_xe(gt);
 	struct xe_gt_tlb_invalidation_fence *fence, *next;
 
+	/*
+	 * This is analogous to e51527233804 ("drm/xe/guc/ct: Flush g2h worker
+	 * in case of g2h response timeout")
+	 *
+	 * TODO: Drop this change once workqueue scheduling delay issue is
+	 * fixed on LNL Hybrid CPU.
+	 */
+	flush_work(&gt->uc.guc.ct.g2h_worker);
+
 	spin_lock_irq(&gt->tlb_invalidation.pending_lock);
 	list_for_each_entry_safe(fence, next,
 				 &gt->tlb_invalidation.pending_fences, link) {
-- 
2.46.0


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

end of thread, other threads:[~2024-10-24 17:00 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-23 15:13 [PATCH] drm/xe/guc/tlb: Flush g2h worker in case of tlb timeout Nirmoy Das
2024-10-23 22:42 ` Matthew Brost
2024-10-24  2:02 ` Ghimiray, Himal Prasad
2024-10-24  9:15   ` Nirmoy Das
2024-10-24  8:17 ` ✓ CI.Patch_applied: success for " Patchwork
2024-10-24  8:17 ` ✓ CI.checkpatch: " Patchwork
2024-10-24  8:18 ` ✓ CI.KUnit: " Patchwork
2024-10-24  8:30 ` ✓ CI.Build: " Patchwork
2024-10-24  8:32 ` ✓ CI.Hooks: " Patchwork
2024-10-24  8:34 ` ✓ CI.checksparse: " Patchwork
2024-10-24  8:59 ` ✗ CI.BAT: failure " Patchwork
2024-10-24 10:02 ` [PATCH] " Nilawar, Badal
2024-10-24 10:17   ` Nirmoy Das
2024-10-24 13:00     ` Nilawar, Badal
2024-10-24 13:11       ` Matthew Auld
2024-10-24 13:22         ` Nirmoy Das
2024-10-24 13:54         ` Nilawar, Badal
2024-10-24 13:12       ` Nirmoy Das
2024-10-24 13:56         ` Nilawar, Badal
2024-10-24 17:00 ` ✓ CI.FULL: success for " Patchwork

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