On Thu, Feb 26, 2015 at 03:49:07PM +0200, Gleb Natapov wrote: > On Thu, Feb 26, 2015 at 02:36:27PM +0100, Thomas Monjalon wrote: > > 2015-02-26 13:51, Gleb Natapov: > > > Did git pull today. After enabling mlnx pmd compilation fails with: > > > > > > dpdk/lib/librte_pmd_mlx4/mlx4.c: In function ?mlx4_pci_devinit?: > > > dpdk/lib/librte_pmd_mlx4/mlx4.c:4636:14: error: too few arguments to > > > function ?rte_eth_dev_allocate? > > > eth_dev = rte_eth_dev_allocate(name); > > > > Yes, thanks for reporting. > > I didn't test the disabled mlx4 after hotplug integration: > > dpdk.org/browse/dpdk/commit/?id=9f1653e7b7e1746e7c > > > > Clearly, I have to improve my sanity checks. > > Sorry for the inconvenience. > No problem, I fixed that locally, but now I see another issue. I have > several PMDs statically compiled in with my application and I expect > dpdk to choose correct one depending on available HW, but mlnx pmd does > not behave nicely, if its initialization fails it kills entire > application: > > EAL: PCI device 0000:03:00.0 on NUMA socket 0 > EAL: probe driver: 15b3:1003 librte_pmd_mlx4 > EAL: Error - exiting with code: 1 > Cause: Requested device 0000:03:00.0 cannot be used
About this error, make sure you are using the kernel modules provided by the mlnx-ofed-kernel package from MOFED [1] as described in the documentation. In short, unload mlx4_core, mlx4_en, mlx4_ib and ib_uverbs, install this package, run depmod and load them again. Since they have similar names, the updated kernel modules should be found in a "extra" or "updates" subdirectory of /lib/modules and come first when queried by modinfo. [1] http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers -- Adrien Mazarguil 6WIND