RE: [RFC v2 1/2] vfio/pci: export common symbols in vfio-pci

From: Liu, Yi L
Date: Wed Mar 20 2019 - 07:49:43 EST


> From: Alex Williamson [mailto:alex.williamson@xxxxxxxxxx]
> Sent: Wednesday, March 20, 2019 2:14 AM
> To: Liu, Yi L <yi.l.liu@xxxxxxxxx>
> Subject: Re: [RFC v2 1/2] vfio/pci: export common symbols in vfio-pci
>
> On Tue, 12 Mar 2019 16:18:22 +0800
> "Liu, Yi L" <yi.l.liu@xxxxxxxxx> wrote:
>
> > This patch exports the following symbols from vfio-pci driver
> > for vfio-pci alike driver. e.g. vfio-pci-mdev driver
> >
> > *) vfio_pci_set_vga_decode();
> > *) vfio_pci_release();
> > *) vfio_pci_open();
> > *) vfio_pci_register_dev_region();
> > *) vfio_pci_ioctl();
> > *) vfio_pci_rw();
> > *) vfio_pci_mmap();
> > *) vfio_pci_request();
> > *) vfio_pci_probe_misc();
> > *) vfio_pci_remove_misc();
> > *) vfio_err_handlers;
> > *) vfio_pci_reflck_attach();
> > *) vfio_pci_reflck_put();
>
> Exporting all these symbols scares me a bit. They're GPL and we don't
> guarantee a kernel ABI, but I don't really want to support arbitrary
> use cases either. What if we re-factored the shared bits into a common
> file and just linked them together? Thanks,

Hi, Alex,

Before refactor the code, I'd like to check with you on the module
parameters for the two modules. The existing vfio-pci driver has
some module parameters. e.g. ids, nointxmask, disable_idle_d3.
For future usage and maintain, I think it is better to let the two
drivers have same parameters. However, I'm not 100% on whether
we want to allow user load vfio-pci.ko and vfio-pci-mdev.ko with
different parameter value? e.g. load vfio-pci.ko with nointxmask=false
while load vfio-pci-mdev.ko with nointxmask=true. How about your
opinion on it?

>
> Alex

Thanks,
Yi Liu