[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <MWHPR11MB188642E26DB4D5C541E5DCF18C089@MWHPR11MB1886.namprd11.prod.outlook.com>
Date: Wed, 23 Jun 2021 23:41:09 +0000
From: "Tian, Kevin" <kevin.tian@...el.com>
To: Jason Gunthorpe <jgg@...dia.com>,
Thomas Gleixner <tglx@...utronix.de>
CC: Alex Williamson <alex.williamson@...hat.com>,
"Dey, Megha" <megha.dey@...el.com>,
"Raj, Ashok" <ashok.raj@...el.com>,
"Pan, Jacob jun" <jacob.jun.pan@...el.com>,
"Jiang, Dave" <dave.jiang@...el.com>,
"Liu, Yi L" <yi.l.liu@...el.com>, "Lu, Baolu" <baolu.lu@...el.com>,
"Williams, Dan J" <dan.j.williams@...el.com>,
"Luck, Tony" <tony.luck@...el.com>,
"Kumar, Sanjay K" <sanjay.k.kumar@...el.com>,
LKML <linux-kernel@...r.kernel.org>, KVM <kvm@...r.kernel.org>,
Kirti Wankhede <kwankhede@...dia.com>,
"Peter Zijlstra" <peterz@...radead.org>,
Marc Zyngier <maz@...nel.org>,
"Bjorn Helgaas" <helgaas@...nel.org>
Subject: RE: Virtualizing MSI-X on IMS via VFIO
> From: Jason Gunthorpe <jgg@...dia.com>
> Sent: Thursday, June 24, 2021 12:41 AM
>
> On Wed, Jun 23, 2021 at 06:31:34PM +0200, Thomas Gleixner wrote:
>
> > So IMO creating a proper paravirt interface is the right approach. It
> > avoids _all_ of the trouble and will be necessary anyway once you want
> > to support devices which store the message/pasid in system memory and
> > not in on-device memory.
>
> I think this is basically where we got to in the other earlier
> discussion with using IMS natively in VMs - it can't be done
> generically without a new paravirt interface.
>
> The guest needs a paravirt interface to program the IOMMU to route MSI
> vectors to the guest's vAPIC and then the guest itself can deliver an
> addr/data pair directly to the HW.
>
> In this mode qemu would not emulate MSI at all so will avoid all the
> problems you identified.
No emulation for PF/VF.
But emulation might be required for mdev for two reasons:
1) the ims entries for mdevs are collapsed together;
2) there are other fields in ims entry which cannot allow guest to
control, e.g. PASID;
>
> How to build that and provide backwards compat is an open
> question. Instead that thread went into blocking IMS on VM situations..
>
> Jason
Powered by blists - more mailing lists