[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210302005046.GD4247@nvidia.com>
Date: Mon, 1 Mar 2021 20:50:46 -0400
From: Jason Gunthorpe <jgg@...dia.com>
To: Dave Jiang <dave.jiang@...el.com>
CC: <alex.williamson@...hat.com>, <kwankhede@...dia.com>,
<tglx@...utronix.de>, <vkoul@...nel.org>, <megha.dey@...el.com>,
<jacob.jun.pan@...el.com>, <ashok.raj@...el.com>,
<yi.l.liu@...el.com>, <baolu.lu@...el.com>, <kevin.tian@...el.com>,
<sanjay.k.kumar@...el.com>, <tony.luck@...el.com>,
<dan.j.williams@...el.com>, <eric.auger@...hat.com>,
<parav@...lanox.com>, <netanelg@...lanox.com>,
<shahafs@...lanox.com>, <pbonzini@...hat.com>,
<dmaengine@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<kvm@...r.kernel.org>
Subject: Re: [PATCH v5 05/14] vfio/mdev: idxd: add basic mdev registration
and helper functions
On Mon, Mar 01, 2021 at 05:48:00PM -0700, Dave Jiang wrote:
>
> On 3/1/2021 5:29 PM, Jason Gunthorpe wrote:
> > On Mon, Mar 01, 2021 at 05:23:47PM -0700, Dave Jiang wrote:
> > > So after looking at the code in vfio_pci_intrs.c, I agree that the set_irqs
> > > code between VFIO_PCI and this driver can be made in common. Given that Alex
> > > doesn't want a vfio_pci device embedded in the driver,
> > idxd isn't a vfio_pci so it would be improper to do something like
> > that here anyhow.
> >
> > > I think we'll need some sort of generic VFIO device that can be used
> > > from the vfio_pci side and vfio_mdev side to pass down in order to
> > > have common support library functions.
> > Why do you need more layers?
> >
> > Just make some helper functions to manage this and build them into
> > their own struct and function family. All this needs is some callback
> > to for the end driver to hook in the raw device programming and some
> > entry points to direct the emulation access to the module.
> >
> > It should be fully self contained and completely unrelated to vfio_pci
> >
> Maybe I'm looking at this wrong. I see a some code in vfio_pci_intrs.c that
> we can reuse with some changes here and there. But, I think see where you
> are getting at with just common functions for mdev side. Let me create it
> just for IMS emulation and then we can go from there trying to figure if
> that's the right path to go down or if we need to share code with vfio_pci.
If it really is very common it could all be consolidated in a
vfio_utils.c kind of thing that all the places can use.
There is nothing wrong with splitting pieces of vfio_pci out.
Jason
Powered by blists - more mailing lists