On 04/14/2014 03:12 PM, Burakov, Anatoly wrote: >> For now, I have a problem with your patch as it breaks drivers that use >> RTE_PCI_DRV_FORCE_UNBIND flag, since it removes the part where this flag >> is handled. Besides, I can see some remaining parts mentioning >> pci_switch_module() in comments. > > I wonder if this functionality is needed at all. I couldn't find any drivers > using that flag, and the unbinding can be done using the included Python > script as well. Given that we're getting rid of unbinding and binding in the > EAL, it's only logical that we get rid of the force-unbinding as well, don't > you think?
This functionality is at least used by virtio-net-pmd. So we cannot remove this without a fix for virtio-net-pmd. Besides, if we remove this functionality, then headers and documentation should be updated accordingly. Yet, even if we remove this from the eal, I think we should provide a proper api to bind/unbind devices to kernel drivers. This way PMDs can use this api and forget about OS dependencies (linux/bsd). By the way, there is also a cleanup to be done inside bsd implementation as I found references to linux code inside it. $ grep -rl pci_switch_module lib/ lib/librte_eal/bsdapp/eal/eal_pci.c I am not sure BSD has a /sys filesystem. $ grep -rl eal_parse_sysfs_value lib/librte_eal/bsdapp/ lib/librte_eal/bsdapp/eal/include/eal_filesystem.h lib/librte_eal/bsdapp/eal/eal.c As a conclusion, as far as all these cleanups are concerned, I would say we should target the next major release. Regards, -- David Marchand

