VFIO MSIX Query
alex.williamson at redhat.com
Mon May 9 08:20:15 PDT 2016
On Sun, 8 May 2016 20:45:10 +0530
Nitin Saxena <nitin.lnx at gmail.com> wrote:
> Hi Alex,
> Thanks for your answer. I got the point that all access to device must be
> I have few more questions.
> >> When the device is initially opened via the VFIO_GET_DEVICE_FD ioctl, we
> go through an initialization sequence on the device, including a device
> Does this mean only one process (primary in multiprocess app) can only
> perform VFIO_GROUP_GET_DEVICE_FD ioctl ? which I doubt as I saw in dpdk
> that each process (regardless primary or not) does VFIO_GROUP_GET_DEVICE_FD
> ioctl. Kindly confirm.
Users can call GET_DEVICE_FD multiple times, but note that the group
file descriptor can only be opened once, so you'd need to pass
device file descriptors off to other threads.
> >> Use VFIO for all access to the device or don't use VFIO at all.
> I will map PCI BARS via VFIO but what about hugepages for each process.
> Since I am using VFIO_NOIOMMU do I need to call VFIO_IOMMU_MAP_DMA ioctl
> for each hugepage of each process? I think this is not needed in my case.
> Please confirm.
No-IOMMU mode does not have MAP_DMA or UNMAP_DMA ioctls. If you want
to support a safe operating mode, with an IOMMU providing DMA
isolation, then yes, you would need to map DMA targets for the device
using those ioctls for the type1 IOMMU backend.
> Can you please also confirm about the patch I attached. Is there any thing
> missing in the patch that I needed to incorporate from kernel 4.5 to make
> VFO NOIOMMU work? Patch
I can't confirm or deny whether the backport is accurate. Thanks,
More information about the linux-arm-kernel