[Intel-gfx] i915 timeouts delaying boot under GVT
Zhenyu Wang
zhenyuw at linux.intel.com
Mon Aug 16 02:45:34 UTC 2021
On 2021.08.13 08:31:28 +0200, Christoph Hellwig wrote:
> Hi all,
>
> when botting a current 4.14-rc tree in a VM using GVT-g (with the host
> also running a current 4.14-rc tree), I see bunch of long timeouts
> followed by i915 errors:
>
> [ 4.252066] i915 0000:00:03.0: [drm] VGT balloon successfully
> [ 5.095190] i915 0000:00:03.0: [drm] *ERROR* Failed to disable SAGV (-110)
> [ 15.334559] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:51:pipe
> A] flip_done timed out
> [ 15.346934] [drm] Initialized i915 1.6.0 20201103 for 0000:00:03.0 on minor
> 0
>
> I did a hackjob to track them down and just if out the offending code,
> which speeds up the boot by ~11 seconds but is probably dangerous as hell:
Hi, Christoph, what platform is this? And what's your guest i915 config?
I'll try to reproduce on our side. Thanks for reporting this.
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 2d5d21740c25..ee82fd67f386 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -10696,7 +10696,7 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
> * - switch over to the vblank wait helper in the core after that since
> * we don't need out special handling any more.
> */
> - drm_atomic_helper_wait_for_flip_done(dev, &state->base);
> +// drm_atomic_helper_wait_for_flip_done(dev, &state->base);
>
> for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) {
> if (new_crtc_state->uapi.async_flip)
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 45fefa0ed160..f03ce729cc4b 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -3753,7 +3753,7 @@ intel_disable_sagv(struct drm_i915_private *dev_priv)
> if (!intel_has_sagv(dev_priv))
> return 0;
>
> - if (dev_priv->sagv_status == I915_SAGV_DISABLED)
> + if (1 || dev_priv->sagv_status == I915_SAGV_DISABLED)
> return 0;
>
> drm_dbg_kms(&dev_priv->drm, "Disabling SAGV\n");
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20210816/7dd24d16/attachment.sig>
More information about the Intel-gfx
mailing list