Thread (1 message) 1 message, 1 author, 2016-05-09
  • (off-list ancestor, not in this archive)
  • Re: VFIO MSIX Query · Alex Williamson <hidden> · 2016-05-09

VFIO MSIX Query

From: Alex Williamson <hidden>
Date: 2016-05-09 15:20:19
Also in: lkml

On Sun, 8 May 2016 20:45:10 +0530
Nitin Saxena [off-list ref] wrote:
Hi Alex,

Thanks for your answer. I got the point that all access to device must be
VFIO.
I have few more questions.
quoted
quoted
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
reset
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.
quoted
quoted
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,

Alex
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help