[dpdk-users] R: Error in rte_eal_init using dpdk 16.04 and Qlogic (Broadcom) bnx2x driver in a SECONDARY process
Thomas Monjalon
thomas.monjalon at 6wind.com
Thu May 5 22:21:30 CEST 2016
2016-05-05 13:02, David Coen:
> Looking at Intel and Mellanox driver sources ("ixgbe_ethdev.c" and "mlx4.c" respectively),
> I found that, in the driver function called by rte_eal_init to initialize pci devs, is mandatory
> to distinguish if the process is running as SECONDARY (--proc-type=secondary in EAL prameters).
>
> For example:
> eth_ixgbe_dev_init() function of the ixgbe Intel driver, at line 988 :
>
> /*
> * For secondary processes, we don't initialise any further as primary
> * has already done this work. Only check we don't need a different
> * RX and TX function.
> */
> if (rte_eal_process_type() != RTE_PROC_PRIMARY){
> ... some code lines here ...
> return 0;
> }
>
> While in Mellanox mlx4 driver there is a check in ALL driver functions that makes them return
> immediatelly if the running process is of type "secondary".
>
> That means that a driver has to take into account that the process could be a SECONDARY process...
This is called "Multiprocess aware" in doc/guides/nics/overview.rst.
> but in Qlogic (Broadcom) bnx2x driver I didn't find anything about that.
It seems the driver do not comply with this multiprocess requirement.
> Do you think I've missed something ?
You are probably right :)
More information about the users
mailing list