[v5,6/9] eal: uninline wait for mcfg complete function
Checks
Commit Message
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 | 10 ++++++++++
lib/librte_eal/common/eal_memcfg.h | 10 +++-------
lib/librte_eal/freebsd/eal/eal.c | 3 ++-
lib/librte_eal/linux/eal/eal.c | 2 +-
4 files changed, 16 insertions(+), 9 deletions(-)
@@ -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)
{
@@ -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 */
@@ -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;
@@ -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();