Re: [PATCH v5 0/4] uio: add MSI/MSI-X support to uio_pci_generic driver

From: Michael S. Tsirkin
Date: Tue Oct 06 2015 - 14:27:52 EST


On Tue, Oct 06, 2015 at 08:17:35PM +0300, Vlad Zolotarov wrote:
> This series add support for MSI and MSI-X interrupts to uio_pci_generic driver.
>
> Currently uio_pci_generic demands INT#x interrupts source be available. However
> there are devices that simply don't have INT#x capability, for instance SR-IOV
> VF devices that simply don't have INT#x capability. For such devices
> uio_pci_generic will simply fail (more specifically its probe() will fail).
>
> When IOMMU is either not available (e.g. Amazon EC2) or not acceptable due to
> performance overhead and thus VFIO is not an option users that develop
> user-space drivers are left without any option but to develop some proprietary
> UIO drivers (e.g. igb_uio driver in Intel's DPDK) just to be able to use UIO
> infrastructure.
>
> This series provides a generic solution for this problem while preserving the
> original behaviour for devices for which the original uio_pci_generic had worked
> before (i.e. INT#x will be used by default).
>
> New in v5:
> - Expanded the commitlog on PATCH1.

Looks like you didn't attempt to address any of my review comments.
I don't intend to review this until you do.

> New in v4:
> - Use portable __u32 and __s32 types from asm/types.h for
> defining uio_pci_generic_irq_set fields.
> - Use proper _IO macros for defining read and write ioctl()
> commands.
> - Moved bars mapping setting into a separate patch.
> - Update uio_pci_generic example in uio-howto.tmpl.
>
> New in v3:
> - Add __iomem qualifier to temp buffer receiving ioremap value.
>
> New in v2:
> - Added #include <linux/uaccess.h> to uio_pci_generic.c
>
>
> Vlad Zolotarov (4):
> uio: add ioctl support
> uio_pci_generic: properly initialize PCI bars mappings towards UIO
> uio_pci_generic: add MSI/MSI-X support
> Documentation: update uio-howto
>
> Documentation/DocBook/uio-howto.tmpl | 139 ++++++++++--
> drivers/uio/uio.c | 15 ++
> drivers/uio/uio_pci_generic.c | 409 +++++++++++++++++++++++++++++++++--
> include/linux/uio_driver.h | 3 +
> include/uapi/linux/uio_pci_generic.h | 51 +++++
> 5 files changed, 574 insertions(+), 43 deletions(-)
> create mode 100644 include/uapi/linux/uio_pci_generic.h
>
> --
> 2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/