From: Jason Gunthorpe <jgg@nvidia.com>
To: "Wang, Zhi A" <zhi.a.wang@intel.com>
Cc: "dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
Greg KH <gregkh@linuxfoundation.org>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Gerd Hoffmann <kraxel@redhat.com>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
"intel-gvt-dev@lists.freedesktop.org"
<intel-gvt-dev@lists.freedesktop.org>,
Christoph Hellwig <hch@lst.de>
Subject: Re: refactor the i915 GVT support
Date: Wed, 28 Jul 2021 14:59:25 -0300 [thread overview]
Message-ID: <20210728175925.GU1721383@nvidia.com> (raw)
In-Reply-To: <DM4PR11MB5549EC882AA6076F3468274DCAEA9@DM4PR11MB5549.namprd11.prod.outlook.com>
On Wed, Jul 28, 2021 at 01:38:58PM +0000, Wang, Zhi A wrote:
> I guess those APIs you were talking about are KVM-only. For other
> hypervisors, e.g. Xen, ARCN cannot use the APIs you mentioned. Not
> sure if you have already noticed that VFIO is KVM-only right now.
There is very little hard connection between VFIO and KVM, so no, I
don't think that is completely true.
In an event, an in-tree version of other hypervisor support for GVT
needs to go through enabling VFIO support so that the existing API
multiplexers we have can be used properly, not adding a shim layer
trying to recreate VFIO inside a GPU driver.
> GVT-g is designed for many hypervisors not only KVM. In the design,
> we implemented an abstraction layer for different hypervisors. You
> can check the link in the previous email which has an example of how
> the MPT module "xengt" supports GVT-g running under Xen. For
> example, injecting a msi in VFIO/KVM is via playing with
> eventfd. But in Xen, we need to issue a hypercall from Dom0.
This is obviously bad design, Xen should plug into the standardized
eventfd scheme as well and trigger its hypercall this way. Then it can
integrate with the existing VFIO interrupt abstraction infrastructure.
> others, like querying mappings between GFN and HFN.
This should be done through VFIO containers, there is nothing KVM
specific there.
> As you can see, to survive from this situation, we have to rely on
> an abstraction layer so that we can prevent introducing coding
> blocks like in the core logic:
No, you have to fix the abstractions we already have to support the
matrix of things you care about. If this can't be done then maybe we
can add new abstractions, but abstractions like this absoultely should
not be done inside drivers.
Jason
next prev parent reply other threads:[~2021-07-28 17:59 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210721155355.173183-1-hch@lst.de>
2021-07-22 9:45 ` refactor the i915 GVT support Zhenyu Wang
2021-07-22 10:49 ` Wang, Zhi A
2021-07-22 11:26 ` Gerd Hoffmann
2021-07-27 12:12 ` Jason Gunthorpe
2021-07-28 13:38 ` Wang, Zhi A
2021-07-28 13:43 ` Greg KH
2021-07-28 17:59 ` Jason Gunthorpe [this message]
[not found] ` <20210729072022.GB31896@lst.de>
2021-07-29 7:30 ` [Intel-gfx] " Daniel Vetter
2021-08-03 9:43 ` Zhenyu Wang
2021-08-03 14:30 ` Jason Gunthorpe
2021-08-04 5:26 ` Zhenyu Wang
[not found] ` <20210816173458.GA9183@lst.de>
2021-08-17 1:08 ` Zhenyu Wang
2021-08-17 5:22 ` Zhenyu Wang
2021-08-19 8:29 ` Zhenyu Wang
2021-08-19 14:43 ` Joonas Lahtinen
2021-08-26 6:04 ` Zhenyu Wang
[not found] ` <20210820141724.GA29034@lst.de>
2021-08-20 19:56 ` Luis Chamberlain
2021-08-26 6:12 ` Zhenyu Wang
2021-09-28 7:41 ` Wang, Zhi A
2021-09-28 14:00 ` Luis Chamberlain
2021-09-28 14:35 ` Wang, Zhi A
2021-09-28 15:05 ` Jason Gunthorpe
2021-09-29 18:27 ` Wang, Zhi A
2021-09-29 18:55 ` Jason Gunthorpe
2021-10-01 13:01 ` Wang, Zhi A
2021-10-05 7:33 ` Wang, Zhi A
2021-08-26 6:08 ` Zhenyu Wang
2021-07-29 8:19 ` Wang, Zhi A
2021-07-22 13:16 ` Greg KH
[not found] ` <20210721155355.173183-2-hch@lst.de>
2021-08-03 9:27 ` [PATCH 01/21] drm/i915/gvt: integrate into the main Makefile Zhenyu Wang
[not found] ` <20210721155355.173183-5-hch@lst.de>
2021-08-09 11:29 ` [PATCH 04/21] drm/i915/gvt: move the gvt code into kvmgt.ko Joonas Lahtinen
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=20210728175925.GU1721383@nvidia.com \
--to=jgg@nvidia.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=hch@lst.de \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=kraxel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=zhi.a.wang@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