Hi Bruce, > I have a number of NIC ports which were working correctly yesterday and are > bound correctly to the igb_uio driver - and I want to keep using them > through the igb_uio driver for now, not vfio. However, whenever I run a > dpdk application today, I find that the vfio kernel module is getting loaded > each time - even after I manually remove it, and verify that it has been > removed by checking lsmod. Is this expected? If so, why are we loading the > vfio driver when I just want to continue using igb_uio which works fine?
Can you elaborate a bit on what do you mean by "loading vfio driver"? Do you mean the vfio-pci kernel gets loaded by DPDK? I certainly didn't put in any code that would automatically load that driver, and certainly not binding devices to it. > Secondly, then, when testpmd or any other app loads, it automatically tries > to map the NIC using vfio and then aborts on the very first NIC port when it > fails to do so. This shouldn't happen, unless you have a device bound to VFIO and have another device in the same IOMMU group that is bound to something else. Can you provide a log of what you are seeing? > This a) prevents the port from being mapped using igb_uio, and > b) for ports which are meant to stay under linux control, forces me to start > enumerating ports using blacklist or whitelisting, rather than having things > "just work" on a properly configured system as before, i.e. if a port is bound > to igb_uio or vfio it is used, if not bound, it is ignored. Again, is this by > design > and expected, because it seems a major regression in usability? I think automatic port unbinding and binding was removed, so this again shouldn't happen at all. It would be useful to have logs for all of these described situations, because we certainly didn't encounter any of that during the validation cycle. Best regards, Anatoly Burakov DPDK SW Engineer