From: Daniel Vetter <daniel@ffwll.ch>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org
Subject: Re: [RFC PATCH 0/8] Add host i915 support for vGPU
Date: Thu, 23 Oct 2014 14:10:07 +0200 [thread overview]
Message-ID: <20141023121007.GF26941@phenom.ffwll.local> (raw)
In-Reply-To: <1414062088.30724.8.camel@nilsson.home.kraxel.org>
On Thu, Oct 23, 2014 at 01:01:28PM +0200, Gerd Hoffmann wrote:
> Hi,
>
> > Stuf like driver load/unload, suspend/resume, runtime pm and gpu reset are
> > already supre-fragile as-is. Every time we change something in there, a
> > bunch of related things fall apart. With vgt we'll have even more
> > complexity in there, and I really think we need to make that complexity
> > explicit. Otherwise we'll always break vgt support for host systems by
> > accident when working on upstream. So in my experience being explicit with
> > these depencies massively reduces maintaince headaches longterm.
>
> I think that makes sense. vGT can leave alot of the lowlevel work such
> as power management to i915 then, so we don't duplicate that code in vGT
> and i915.
It's not just the duplication, but interactions. And like I've said those
are already making things in the i915 really messy. And then there's also
all the new features like gpu scheduling, runtime pm and all that which
we're constantly adding. Keeping up the appearance that i915 is in control
on the host side but actually isn't would fall appart rather quickly I
fear.
> Stacking vGT on top of i915 also makes it alot easier to have it a
> runtime option (just an additional kernel module you load when you need
> it). Other way around vGT would be a hard dependency for i915, even if
> you don't use it (you could compile it out probably, but distro kernels
> can't do that if they want support vGT).
We probably need to make a few changes to i915, maybe on the command
submission side. But those should definitely be small enough that we don't
need a compile time option for them. Furthermore the command submission
code is getting rearchitected now (due to other features), so perfect time
to make sure vgt will work, too.
> Another note: Right now the guest display can only be sent to one of the
> crtcs. Long term I want more options there, such as exporting the guest
> display as dma-buf on the host so it can be blitted to some window. Or
> even let the gpu encode the guest display as video, so we can send it
> off over the network. I suspect that is also easier to implement if
> i915 manages all resources and vGT just allocates from i915 what it
> needs for the guest.
Yeah that should be really simple to add, we already have abstraction for
the different kinds of buffer objects (native shmem backed gem object,
carveout/stolen mem, dma-buf imported, userptr).
I guess from a really high level this boils down to having a xen-like
design (where the hypervisor and dom0 driver are separate, but cooperate
somewhat) or kvm (where the virtualization sits on top of a normal
kernel). Afaics the kvm model seems to have a lot more momentum overall.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
next prev parent reply other threads:[~2014-10-23 12:09 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-30 10:05 [RFC PATCH 0/8] Add host i915 support for vGPU Jike Song
2014-09-30 10:05 ` [RFC PATCH 1/8] drm/i915: introduce a new modparam: enable_vgt Jike Song
2014-09-30 10:05 ` [RFC PATCH 2/8] drm/i915: introduce the skeleton of vgt Jike Song
2014-09-30 10:05 ` [RFC PATCH 3/8] drm/i915: add the vgt implementation of MMIO/GTT mediations Jike Song
2014-09-30 16:34 ` Tian, Kevin
2014-10-01 10:58 ` Jike Song
2014-09-30 10:05 ` [RFC PATCH 4/8] drm/i915: redirect MMIO accesses to vgt if enabled Jike Song
2014-09-30 10:05 ` [RFC PATCH 5/8] drm/i915: GTT access abstraction Jike Song
2014-09-30 10:05 ` [RFC PATCH 6/8] drm/i915: redirect GTT accesses to vgt if enabled Jike Song
2014-09-30 10:05 ` [RFC PATCH 7/8] drm/i915: vgt irq mediation - via a tasklet based mechanism Jike Song
2014-09-30 10:30 ` Daniel Vetter
2014-09-30 16:26 ` Tian, Kevin
2014-10-22 7:34 ` Jike Song
2014-10-28 6:59 ` Tian, Kevin
2014-09-30 10:05 ` [RFC PATCH 8/8] drm/i915: enable vgt if specified by module param Jike Song
2014-10-22 9:48 ` [RFC PATCH 0/8] Add host i915 support for vGPU Daniel Vetter
2014-10-23 3:13 ` Jike Song
2014-10-23 8:56 ` Daniel Vetter
2014-10-23 11:01 ` Gerd Hoffmann
2014-10-23 12:10 ` Daniel Vetter [this message]
2014-10-23 12:32 ` Gerd Hoffmann
2014-10-28 8:45 ` Tian, Kevin
2014-10-28 8:25 ` Tian, Kevin
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=20141023121007.GF26941@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=daniel.vetter@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
--cc=kraxel@redhat.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