[dpdk-dev] DPDK v2.0.0 has different rte_eal_pci_probe() behavior

Matthew Hall mhall at mhcomputing.net
Sun Jun 21 04:37:59 CEST 2015


On Jun 19, 2015, at 3:15 AM, Bruce Richardson <bruce.richardson at intel.com> wrote:
> Thank you. It's finally nice to get some good news about compatibility! :-)

Hi Bruce,

I did manage to find just one weird issue when I was trying to use the new DPDK v2.0.0. Previously I had code which was calling rte_eal_pci_probe() after rte_eal_init, rte_set_log_level, rte_mempool_create steps were completed, based on some of the sample applications. However it seems like the new code is calling this function itself inside of rte_eal_init.

So then the second call to it from my application raises some pretty odd errors and causes DPDK to terminate because it was one of the whitelisted PCI devices which is considered mandatory to succeed in the init process:

EAL: PCI device 0000:00:09.0 on NUMA socket -1
EAL:   probe driver: 8086:100e rte_em_pmd
EAL:   PCI memory mapped at 0x7ff0dc200000
PMD: eth_em_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x100e
EAL: PCI device 0000:00:09.0 on NUMA socket -1
EAL:   probe driver: 8086:100e rte_em_pmd
EAL:   PCI memory mapped at 0x7ff0dc220000
EAL: Error - exiting with code: 1
  Cause: Requested device 0000:00:09.0 cannot be used

I am not sure if it means I screwed up and wasn't doing it right in the first place and it was always incorrect to do it the way I did or if this is a behavior change that should be documented somewhere. Has anybody else seen this behavior?

Matthew.


More information about the dev mailing list