> iommu groups already exist before vfio-pci is loaded. > The whole setup process as described in the VFIO documentation, where a > PCIe device shares an iommu group with other devices, can therefore be > automated. Some time ago I wrote a ruby script that does exactly that > (https://github.com/andre-richter/rVFIO/blob/master/example/pci- > bind.rb). > Porting it to bash should be no problem.
Makes sense to me. Maybe we could output a warning if not all devices in a group were bound to vfio-pci (and possibly list all devices that aren't bound)? IMO, the right place for such a warning would probably be dpdk_nic_bind.py though, not setup.sh. > However, the question is if dpdk needs to cover this (corner?) case. > I would assume that the bulk of dpdk use-cases deals with scenarios where > the targeted NIC is the only one in its iommu group, because it is a high- > speed NIC that is connected to a CPU-integrated PCIe-Port. > A NIC sharing an iommu group with other devices would be most likely if it is > behind a bridge, aka a chipset-integrated NIC or a NIC that resides in a PCIe- > Slot that connects to the chipset. This is more common in desktop machines > than in server grade machines. If no other devices need to be unbound, no warnings, and no harm done :) Thanks, Anatoly