eal: uninline wait for complete init

Currently, the function to wait until config completion is
static inline for no reason. Move its implementation to
an EAL common file.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
Anatoly Burakov 2019-07-05 14:10:32 +01:00 committed by Thomas Monjalon
parent 0d6e584247
commit a08a5dd20e
4 changed files with 16 additions and 9 deletions

View File

@ -7,6 +7,16 @@
#include "eal_memcfg.h"
void
eal_mcfg_wait_complete(void)
{
struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config;
/* wait until shared mem_config finish initialising */
while (mcfg->magic != RTE_MAGIC)
rte_pause();
}
void
rte_mcfg_mem_read_lock(void)
{

View File

@ -69,12 +69,8 @@ struct rte_mem_config {
uint8_t dma_maskbits; /**< Keeps the more restricted dma mask. */
};
static inline void
rte_eal_mcfg_wait_complete(struct rte_mem_config *mcfg)
{
/* wait until shared mem_config finish initialising */
while (mcfg->magic != RTE_MAGIC)
rte_pause();
}
/* wait until primary process initialization is complete */
void
eal_mcfg_wait_complete(void);
#endif /* EAL_MEMCFG_H */

View File

@ -52,6 +52,7 @@
#include "eal_filesystem.h"
#include "eal_hugepages.h"
#include "eal_options.h"
#include "eal_memcfg.h"
#define MEMSIZE_IF_NO_HUGE_PAGE (64ULL * 1024ULL * 1024ULL)
@ -382,7 +383,7 @@ rte_config_init(void)
case RTE_PROC_SECONDARY:
if (rte_eal_config_attach() < 0)
return -1;
rte_eal_mcfg_wait_complete(rte_config.mem_config);
eal_mcfg_wait_complete();
if (rte_eal_config_reattach() < 0)
return -1;
break;

View File

@ -506,7 +506,7 @@ rte_config_init(void)
case RTE_PROC_SECONDARY:
if (rte_eal_config_attach() < 0)
return -1;
rte_eal_mcfg_wait_complete(rte_config.mem_config);
eal_mcfg_wait_complete();
if (rte_eal_config_reattach() < 0)
return -1;
eal_update_internal_config();