On 2021.07.29 09:20:22 +0200, Christoph Hellwig wrote:
On Wed, Jul 28, 2021 at 02:59:25PM -0300, Jason Gunthorpe wrote:
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.
The only connection is the SET_KVM notifier as far as I can tell. Which is used by a total of two drivers, including i915/gvt. That being said gvt does not only use vfio, but also does quite a few direct cals to KVM.
yeah, we mostly combined VFIO into hypervisor specific thing before, e.g interface to set vgpu edid, etc. along with kvm specific calls.
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.
Yes. And if we go back to actually looking at the series a lot of it just removes entirely pointless indirect calls that go to generic code and not even the kvm code, or questionable data structure designs. If we were to support another upstream hypervisor we'd just need to union a few fields in struct intel_gpu and maybe introduce a few methods. Preferably in a way that avoids expensive indirect calls in the fast path.
ok, agree on that.
Acked-by: Zhenyu Wang zhenyuw@linux.intel.com
Thanks a lot for this effort!