On 09/03/2016 13:37, Harry van Haaren wrote: > This patch fixes a race-condition when a primary and > secondary process simultaneously probe PCI devices. > > This is implemented by moving the rte_eal_mcfg_complete() > function call in rte_eal_init() until after rte_eal_pci_probe(). > The memory mapping of PCI device in the secondary process *must* > happen after the primary has finished doing the mapping as it > relies on information written by the primary. > > The end result is that the secondary process waits longer, > until the primary has completed its PCI probing, and then > notifies the secondary process. > > This race-condition became visible during the development of > a function that allows a secondary process to be polling until > a primary process exists. The secondary would then probe PCI > devices at the same time, causing an error during rte_eal_init() > > Linux EAL: > Fixes: 916e4f4f4e45 ("memory: fix for multi process support") > > BSD EAL: > Fixes: 764bf26873b9 ("add FreeBSD support") > > Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com> > --- >
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy at intel.com>