From: Matthew Auld <matthew.auld@intel.com>
To: intel-xe@lists.freedesktop.org
Subject: [Intel-xe] [PATCH 3/4] drm/xe/selftests: restart GT after xe_bo_restore_kernel()
Date: Thu, 13 Jul 2023 10:41:28 +0100 [thread overview]
Message-ID: <20230713094125.326709-7-matthew.auld@intel.com> (raw)
In-Reply-To: <20230713094125.326709-5-matthew.auld@intel.com>
Test seems to be failing badly after calling xe_bo_restore_kernel().
Taking a snapshot of the CTB and copying back a potentially old version
seems risky, depending on what might have been inflight. Also it seems
snapshotting the ADS object and copying back results in serious
breakage. Normally when calling xe_bo_restore_kernel() we always fully
restart the GT, which re-intializes such things. We could potentially
skip saving and restoring such objects in xe_bo_evict_all() however
seems quite fragile not to also restart the GT. Try to do that here by
triggering a GT reset.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
---
drivers/gpu/drm/xe/tests/xe_bo.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
index 6aad1443b00e..21c6dfef8dc7 100644
--- a/drivers/gpu/drm/xe/tests/xe_bo.c
+++ b/drivers/gpu/drm/xe/tests/xe_bo.c
@@ -220,7 +220,21 @@ static int evict_test_run_gt(struct xe_device *xe, struct xe_gt *gt, struct kuni
goto cleanup_all;
}
+ xe_gt_sanitize(gt);
err = xe_bo_restore_kernel(xe);
+ /*
+ * Snapshotting the CTB and copying back a potentially old
+ * version seems risky, depending on what might have been
+ * inflight. Also it seems snapshotting the ADS object and
+ * copying back results in serious breakage. Normally when
+ * calling xe_bo_restore_kernel() we always fully restart the
+ * GT, which re-intializes such things. We could potentially
+ * skip saving and restoring such objects in xe_bo_evict_all()
+ * however seems quite fragile not to also restart the GT. Try
+ * to do that here by triggering a GT reset.
+ */
+ xe_gt_reset_async(gt);
+ flush_work(>->reset.worker);
if (err) {
KUNIT_FAIL(test, "restore kernel err=%pe\n",
ERR_PTR(err));
--
2.41.0
next prev parent reply other threads:[~2023-07-13 9:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-13 9:41 [Intel-xe] [PATCH 1/4] drm/xe/selftests: hold rpm for evict_test_run_device() Matthew Auld
2023-07-13 9:41 ` [Intel-xe] [PATCH 2/4] drm/xe/selftests: hold rpm for ccs_test_migrate() Matthew Auld
2023-07-13 15:24 ` Nirmoy Das
2023-07-13 9:41 ` Matthew Auld [this message]
2023-07-13 15:34 ` [Intel-xe] [PATCH 3/4] drm/xe/selftests: restart GT after xe_bo_restore_kernel() Nirmoy Das
2023-07-13 9:41 ` [Intel-xe] [PATCH 4/4] drm/xe: add missing bulk_move reset Matthew Auld
2023-07-13 16:05 ` Nirmoy Das
2023-07-14 9:02 ` Matthew Auld
2023-07-13 10:37 ` [Intel-xe] ✓ CI.Patch_applied: success for series starting with [1/4] drm/xe/selftests: hold rpm for evict_test_run_device() Patchwork
2023-07-13 10:37 ` [Intel-xe] ✓ CI.checkpatch: " Patchwork
2023-07-13 10:39 ` [Intel-xe] ✓ CI.KUnit: " Patchwork
2023-07-13 10:43 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-07-13 10:43 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
2023-07-13 10:44 ` [Intel-xe] ✓ CI.checksparse: " Patchwork
2023-07-13 15:24 ` [Intel-xe] [PATCH 1/4] " Nirmoy Das
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=20230713094125.326709-7-matthew.auld@intel.com \
--to=matthew.auld@intel.com \
--cc=intel-xe@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 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.