[PATCH 2/2] drm/i915/gvt: warn untrack mmio access even though detect suspected vGPU TDR
Weinan Li
weinan.z.li at intel.com
Wed May 17 03:22:53 UTC 2017
INSTDONE(0x206C) isn't one correct way to know if guest trigger gfx reset,
especially with Linux guest, it will read ACTH first, then check INSTDONE
and SUBSLICE registers to check if hardware is still running, at last
trigger gfx reset when it finds all the registers is frozen. In Windows
guest, read INSTDONE(0x206C) usually happens when OS detect TDR.
With the difference between Windows and Linux guest,
"disable_warn_untrack" may let debug log run into wrong state(Linux guest
trigger hangcheck with no ACTHD changed, then check INSTDONE:0x206C), but
actually there is no TDR happened.
The new policy is always WARN with untrack MMIO r/w. Bad effect is many
noisy untrack mmio warning logs when real TDR happen. Even so you can
control the log output or not by setting the debug mask bit.
Signed-off-by: Weinan Li <weinan.z.li at intel.com>
---
drivers/gpu/drm/i915/gvt/handlers.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/handlers.c b/drivers/gpu/drm/i915/gvt/handlers.c
index a70892e..824be56 100644
--- a/drivers/gpu/drm/i915/gvt/handlers.c
+++ b/drivers/gpu/drm/i915/gvt/handlers.c
@@ -1415,10 +1415,7 @@ static int instdone_mmio_read(struct intel_vgpu *vgpu,
struct drm_i915_private *dev_priv = vgpu->gvt->dev_priv;
if (offset == 0x206c) {
- gvt_vgpu_err("------------------------------------------\n");
gvt_vgpu_err(" likely triggers a gfx reset or scheduled out for a long time.\n");
- gvt_vgpu_err("------------------------------------------\n");
- vgpu->mmio.disable_warn_untrack = true;
}
vgpu_vreg(vgpu, offset) = I915_READ(_MMIO(offset));
--
1.9.1
More information about the intel-gvt-dev
mailing list