From: Daniel Vetter <daniel@ffwll.ch>
To: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org, igvt-g@lists.01.org
Subject: Re: [PATCH 3/7] drm/i915: Always enable execlists on BDW for vgpu
Date: Wed, 26 Aug 2015 10:50:23 +0200 [thread overview]
Message-ID: <20150826085023.GJ20434@phenom.ffwll.local> (raw)
In-Reply-To: <1440419806.5564.2.camel@linux.intel.com>
On Mon, Aug 24, 2015 at 03:36:46PM +0300, Joonas Lahtinen wrote:
> On pe, 2015-08-21 at 10:24 +0800, Zhiyuan Lv wrote:
> > Hi Joonas,
> >
> > Thanks for the review! And my reply inline.
> >
> > Regards,
> > -Zhiyuan
> >
> > On Thu, Aug 20, 2015 at 02:23:11PM +0300, Joonas Lahtinen wrote:
> > > Hi,
> > >
> > > On to, 2015-08-20 at 17:40 +0800, Zhiyuan Lv wrote:
> > > > On Thu, Aug 20, 2015 at 10:22:37AM +0100, Chris Wilson wrote:
> > > > > On Thu, Aug 20, 2015 at 04:55:08PM +0800, Zhiyuan Lv wrote:
> > > > > > Hi Chris,
> > > > > >
> > > > > > On Thu, Aug 20, 2015 at 09:34:05AM +0100, Chris Wilson wrote:
> > > > > > > On Thu, Aug 20, 2015 at 03:45:20PM +0800, Zhiyuan Lv wrote:
> > > > > > > > Broadwell hardware supports both ring buffer mode and
> > > > > > > > execlist mode.
> > > > > > > > When i915 runs inside a VM with Intel GVT-g, we allow
> > > > > > > > execlist mode
> > > > > > > > only. The reason is that GVT-g does not support the
> > > > > > > > dynamic
> > > > > > > > mode
> > > > > > > > switch between ring buffer mode and execlist mode when
> > > > > > > > running
> > > > > > > > multiple virtual machines. Consider that ring buffer mode
> > > > > > > > is
> > > > > > > > legacy
> > > > > > > > mode, it makes sense to drop it inside virtual machines.
> > > > > > >
> > > > > > > If that is the case, you should query the host as to what
> > > > > > > mode
> > > > > > > it is
> > > > > > > running.
> > > > > >
> > > > > > Thanks for the reply! You mean we query the host mode, then
> > > > > > tell
> > > > > > the
> > > > > > guest driver inside VM, so that it could use the same mode as
> > > > > > host
> > > > > > right? That might be a little complicated, and the only
> > > > > > benefit
> > > > > > is to
> > > > > > support legacy ring buffer mode ...
> > > > >
> > > > > The only benefit being that the guest works no matter what the
> > > > > host
> > > > > does?
> > > >
> > > > Supporting ring buffer mode may need more work in GVT-g. When we
> > > > started to
> > > > enable BDW support, ring buffer mode used to work but was not
> > > > well
> > > > tested. And
> > > > the inter-VM switch (all in ringbuffer mode) may be tricker
> > > > comparing
> > > > with
> > > > driver context switch with "MI_SET_CONTEXT", because we need to
> > > > switch ring
> > > > buffer whereas driver does not. Regarding this, the EXECLIST mode
> > > > looks
> > > > cleaner. In order to support that, we may have to: 1, change more
> > > > LRI
> > > > commands
> > > > to MMIO in current driver; 2, more testing/debugging of inter-VM
> > > > context
> > > > switch flow.
> > > >
> > > > Based on that, I think we should really make statement that "ring
> > > > buffer mode"
> > > > is not supported by GVT-g on BDW :-)
> > > >
> > >
> > > I think just move the vpgu test even before test for GEN9 just
> > > making
> > > it return true on intel_vgpu_active(dev) and add a comment that
> > > currently vGPU only supports execlist command submission, and then
> > > add
> >
> > Will do. Thanks!
> >
> > > an error early in the init in some appropriate spot if
> > > intel_vgpu_active is true but logical ring context are not
> > > available
> > > (which would practically mean GEN < 8).
> > >
> > > Does that sound OK?
> >
> > Ring buffer mode for Haswell with vgpu is still supported. So
> > probably I have
> > the check like below? Thanks!
> >
>
> Ah sorry, I missed that.
>
> > @@ -332,6 +332,12 @@ int i915_gem_context_init(struct drm_device
> > *dev)
> > if (WARN_ON(dev_priv->ring[RCS].default_context))
> > return 0;
> >
> > + if (intel_vgpu_active(dev)) {
> > + if (WARN_ON(HAS_LOGICAL_RING_CONTEXTS(dev) &&
> > + !i915.enable_execlist))
> > + return 0;
> > + }
> > +
>
> This looks fine to me. Maybe comment might be in place stating that
> support is not yet implemented, but could be.
You should fail this instead so that i915.ko knows that the render side of
the gpu doesn't work. And maybe just DRM_INFO with a useful informational
notice?
Also same comment here: Don't we need to coordinate this a bit better with
the host?
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-08-26 8:50 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-20 7:45 [PATCH 0/7] drm/intel: guest i915 changes for Broadwell to run inside VM with Intel GVT-g Zhiyuan Lv
2015-08-20 7:45 ` [PATCH 1/7] drm/i915: preallocate pdps for 32 bit vgpu Zhiyuan Lv
2015-08-20 10:56 ` Joonas Lahtinen
2015-08-26 13:21 ` Mika Kuoppala
2015-08-20 7:45 ` [PATCH 2/7] drm/i915: Enable full ppgtt for vgpu Zhiyuan Lv
2015-08-20 10:57 ` Joonas Lahtinen
2015-08-26 8:47 ` Daniel Vetter
2015-08-27 2:28 ` Zhiyuan Lv
2015-09-02 8:06 ` Daniel Vetter
2015-08-20 7:45 ` [PATCH 3/7] drm/i915: Always enable execlists on BDW " Zhiyuan Lv
2015-08-20 8:34 ` Chris Wilson
2015-08-20 8:55 ` Zhiyuan Lv
2015-08-20 9:22 ` Chris Wilson
2015-08-20 9:40 ` Zhiyuan Lv
2015-08-20 11:23 ` Joonas Lahtinen
2015-08-21 2:24 ` Zhiyuan Lv
2015-08-24 12:36 ` Joonas Lahtinen
2015-08-26 8:50 ` Daniel Vetter [this message]
2015-08-27 2:49 ` Zhiyuan Lv
2015-09-02 8:06 ` Daniel Vetter
2015-08-21 5:37 ` [iGVT-g] " Tian, Kevin
2015-08-20 7:45 ` [PATCH 4/7] drm/i915: always pin lrc context for vgpu with Intel GVT-g Zhiyuan Lv
2015-08-20 8:36 ` Chris Wilson
2015-08-20 9:16 ` Zhiyuan Lv
2015-08-21 6:13 ` Zhiyuan Lv
2015-08-24 10:04 ` About the iGVT-g's requirement to pin guest contexts in VM Zhiyuan Lv
2015-08-24 10:23 ` Chris Wilson
2015-08-24 17:18 ` Wang, Zhi A
2015-08-26 16:42 ` Wang, Zhi A
2015-08-25 0:17 ` Zhiyuan Lv
2015-08-26 8:56 ` Daniel Vetter
2015-08-27 1:50 ` Zhiyuan Lv
2015-09-02 8:19 ` Daniel Vetter
2015-09-02 9:20 ` Zhiyuan Lv
2015-09-02 9:40 ` Daniel Vetter
2015-08-20 7:45 ` [PATCH 5/7] drm/i915: Update PV INFO page definition for Intel GVT-g Zhiyuan Lv
2015-08-20 12:58 ` Joonas Lahtinen
2015-08-21 2:27 ` Zhiyuan Lv
2015-08-20 7:45 ` [PATCH 6/7] drm/i915: guest i915 notification for Intel-GVTg Zhiyuan Lv
2015-08-20 13:11 ` Joonas Lahtinen
2015-08-21 2:39 ` Zhiyuan Lv
2015-08-20 7:45 ` [PATCH 7/7] drm/i915: Allow Broadwell guest with Intel GVT-g Zhiyuan Lv
2015-08-20 13:15 ` Joonas Lahtinen
-- strict thread matches above, loose matches on Subject: below --
2015-08-20 3:17 [PATCH 3/7] drm/i915: Always enable execlists on BDW for vgpu Zhiyuan Lv
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=20150826085023.GJ20434@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=igvt-g@lists.01.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=joonas.lahtinen@linux.intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).