[PATCH 1/2] drm/i915/gvt: add RING_INSTDONE and SC_INSTDONE mmio handler in GVT-g

Du, Changbin changbin.du at intel.com
Wed May 17 05:49:27 UTC 2017


On Wed, May 17, 2017 at 01:40:56PM +0800, Zhenyu Wang wrote:
> On 2017.05.17 11:22:52 +0800, Weinan Li wrote:
> > kernel hangcheck needs to check RING_INSTDONE and SC_INSTDONE registers'
> > state to know if hardware is still running. In GVT-g environment, we need
> > to emulate these registers change for all the vgpus, otherwise if one
> > workload runs for a long time with no ACTHD and INSTDONE change will cause
> > hangcheck failed then trigger gfx reset, especially in multi-vgpus
> > environment, one vgpu has been scheduled out for a long time, it will try
> > to check is there INSTDONE registers change to know if hardware is still
> > running.
> > 
> > here we return the physical state for all the vgpus, let them know the
> > hardware's running state, avoid unnecessary gfx reset from vgpu.
> > 
> > Signed-off-by: Weinan Li <weinan.z.li at intel.com>
> > ---
> >  drivers/gpu/drm/i915/gvt/handlers.c | 23 +++++++++++++++++++++++
> >  drivers/gpu/drm/i915/gvt/mmio.c     |  7 -------
> >  2 files changed, 23 insertions(+), 7 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/gvt/handlers.c b/drivers/gpu/drm/i915/gvt/handlers.c
> > index c995e54..a70892e 100644
> > --- a/drivers/gpu/drm/i915/gvt/handlers.c
> > +++ b/drivers/gpu/drm/i915/gvt/handlers.c
> > @@ -1409,6 +1409,23 @@ static int ring_timestamp_mmio_read(struct intel_vgpu *vgpu,
> >  	return intel_vgpu_default_mmio_read(vgpu, offset, p_data, bytes);
> >  }
> >  
> > +static int instdone_mmio_read(struct intel_vgpu *vgpu,
> > +		unsigned int offset, void *p_data, unsigned int bytes)
> > +{
> > +	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;
> > +	}
> 
> So shouldn't remove this message completely here but might have some debug
> info when guest really issue reset by GDRST write? 
> 
Virtual GT reset log has printed in GDRST handler gdrst_mmio_write. Just change
the log level from debug to info if need.


-- 
Thanks,
Changbin Du
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20170517/db9d44b8/attachment-0001.sig>


More information about the intel-gvt-dev mailing list