From: Greg KH <gregkh@linuxfoundation.org>
To: "Wang, Zhi A" <zhi.a.wang@intel.com>
Cc: "dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.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>,
Jason Gunthorpe <jgg@nvidia.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 15:43:25 +0200 [thread overview]
Message-ID: <YQFe/e9o4OANBVBE@kroah.com> (raw)
In-Reply-To: <DM4PR11MB5549EC882AA6076F3468274DCAEA9@DM4PR11MB5549.namprd11.prod.outlook.com>
A: http://en.wikipedia.org/wiki/Top_post
Q: Were do I find info about this thing called top-posting?
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
A: No.
Q: Should I include quotations after my reply?
http://daringfireball.net/2007/07/on_top
On Wed, Jul 28, 2021 at 01:38:58PM +0000, Wang, Zhi A wrote:
> Hi Jason:
>
> 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.
Please wrap your lines properly :(
> 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. So does others, like querying mappings between GFN and HFN. Some GPU related emulation logic might be implemented differently under different hypervisors because different hypervisors might provide not exact the APIs we want. That's the reason why they get a callback in the MPT (yet not perfect.)
>
> 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:
>
> If (in_hypervisor_xen)
> Issue hypercalls
> else if (in_hypervisor_kvm)
> Play with eventfds.
> Else if (in_hypervisor_other)
> xxxx
That's horrid, and slow, please do this properly.
> Thus some of the APIs have to be wrapped in the MPT module in GVT-g design.
>
> Sadly, not all customers are motivated or allowed to get their hypervisor-specific modules into the kernel. We have a customer who runs GVT-g with their private hypervisor. In this case, they don't want to get their "xxxgt" MPT module into upstream since their hypervisor has been in the kernel yet. Also, we have customers who ported the GVT-g to QNX which is another widely used commercial hypervisor in the industry. They can't get the "qnxgt" MPT module into upstream since it's not allowed.
Why is it not allowed?
> We do understand the situation and try to figure out a solution that can fulfill expectations from different people in the community and also customers.
>
> According to Greg KH's comments, we are collecting the requirements of MPT modules from other open-source hypervisors in the kernel, e.g. ACRN, to see if they can get another MPT module into the kernel, which will show an example that how the MPT abstraction can benefit. Also, we are evaluating the impact on our customers if we have to remove MPT abstraction in the kernel because there is only one MPT module.
Until that happens, can we please just remove the unneeded layer here as
no one is using it? Then, when you have a real user for this type of
middle-layer, you can add it back? We have no need for it now.
thanks,
greg k-h
next prev parent reply other threads:[~2021-07-28 13:43 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 [this message]
2021-07-28 17:59 ` Jason Gunthorpe
2021-07-29 8:19 ` Wang, Zhi A
[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-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=YQFe/e9o4OANBVBE@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=hch@lst.de \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=jgg@nvidia.com \
--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