[dpdk-dev] [PATCH v1 0/5] Enable hotplug in vfio
Gaëtan Rivet
gaetan.rivet at 6wind.com
Mon Aug 20 11:15:33 CEST 2018
Hi Jeff,
On Fri, Aug 17, 2018 at 06:51:26PM +0800, Jeff Guo wrote:
> As we may know that the process of hotplug is different between igb_uio
> and vfio. For igb_uio, it could use uevent notification and memory
> failure handle mechanism for hotplug. But for vfio, when device is be
> hotplug-out, the uevent can not be detected immediately, because of the
> vfio kernel module will use a special mechanism to guaranty the pci
> device would not be deleted until the user space release the resources,
> so it will use another event “req notifier” at first to notify user space
> to release resources for hotplug.
>
> This patch will add a new interrupt type of req notifier in eal interrupt,
> and add the new interrupt handler in pci device to handle the req device
> event. When the req notifier be detected, it can trigger the device event
> callback process to process for hotplug. With this mechanism, hotplug
> could be enable in vfio.
>
The REQ event seems VFIO specific.
Why not leave it within the PCI bus, around the vfio glue, and leave the
EAL unmodified?
> Jeff Guo (5):
> eal: add a new req notifier to eal interrupt
> eal: add a new req event to device event
> eal: modify device event callback process func
> pci: add req handler field to generic pci device
> vfio: enable vfio hotplug by req notifier handler
>
> drivers/bus/pci/linux/pci_vfio.c | 104 +++++++++++++++++++++
> drivers/bus/pci/pci_common.c | 10 ++
> drivers/bus/pci/rte_bus_pci.h | 1 +
> lib/librte_eal/common/eal_common_dev.c | 5 +-
> lib/librte_eal/common/eal_private.h | 12 ---
> lib/librte_eal/common/include/rte_dev.h | 20 +++-
> lib/librte_eal/common/include/rte_eal_interrupts.h | 1 +
> lib/librte_eal/linuxapp/eal/eal_dev.c | 2 +-
> lib/librte_eal/linuxapp/eal/eal_interrupts.c | 71 ++++++++++++++
> lib/librte_ethdev/rte_ethdev.c | 3 +-
> 10 files changed, 212 insertions(+), 17 deletions(-)
>
> --
> 2.7.4
>
--
Gaëtan Rivet
6WIND
More information about the dev
mailing list