eal: uninline wait for complete init
authorAnatoly Burakov <anatoly.burakov@intel.com>
Fri, 5 Jul 2019 13:10:32 +0000 (14:10 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Sat, 6 Jul 2019 08:32:40 +0000 (10:32 +0200)
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>
lib/librte_eal/common/eal_common_mcfg.c
lib/librte_eal/common/eal_memcfg.h
lib/librte_eal/freebsd/eal/eal.c
lib/librte_eal/linux/eal/eal.c

index 337890a..30969c6 100644 (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)
 {
index e5b90e3..6c08652 100644 (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 */
index a8b9b8b..7840094 100644 (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;
index 228d6b3..03d5e71 100644 (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();