10/07/2020 13:53, Thomas Monjalon: > The function pci_map_resource() returns MAP_FAILED in case of error. > When replacing the call to mmap() by rte_mem_map(), > the error code became NULL, breaking the API. > This function is probably not used outside of DPDK, > but it is still a problem for two reasons: > - the deprecation process was not followed > - the Linux function pci_vfio_mmap_bar() is broken for i40e > > The error code is reverted to the Unix value MAP_FAILED. > Windows needs to define this special value (-1 as in Unix). > After proper deprecation process, the API could be changed again > if really needed. > > Because of the switch from mmap() to rte_mem_map(), > another part of the API was changed: "int additional_flags" > are defined as "additional flags for the mapping range" > without mentioning it was directly used in mmap(). > Currently it is directly used in rte_mem_map(), > that's why the values rte_map_flags must be mapped (sic) on the mmap ones > in case of Unix OS. > > These are side effects of a badly defined API using Unix values. > > Bugzilla ID: 503
This is urgent. i40e does not probe in some cases. If no test is done, I don't merge it and Intel will complain about validation issue in 20.08-rc1. And next time, I won't rush on bug fixing.