From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C81E0A0487 for ; Fri, 5 Jul 2019 15:11:47 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B2D661BEED; Fri, 5 Jul 2019 15:11:02 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 15EEF1BED4 for ; Fri, 5 Jul 2019 15:10:56 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Jul 2019 06:10:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,455,1557212400"; d="scan'208";a="187863043" Received: from silpixa00399498.ir.intel.com (HELO silpixa00399498.ger.corp.intel.com) ([10.237.223.125]) by fmsmga004.fm.intel.com with ESMTP; 05 Jul 2019 06:10:55 -0700 From: Anatoly Burakov To: dev@dpdk.org Cc: Bruce Richardson , thomas@monjalon.net, david.marchand@redhat.com, stephen@networkplumber.org Date: Fri, 5 Jul 2019 14:10:32 +0100 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v4 6/8] eal: uninline wait for mcfg complete function X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Stephen Hemminger --- 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(-) diff --git a/lib/librte_eal/common/eal_common_mcfg.c b/lib/librte_eal/common/eal_common_mcfg.c index 337890a61..30969c6bf 100644 --- a/lib/librte_eal/common/eal_common_mcfg.c +++ b/lib/librte_eal/common/eal_common_mcfg.c @@ -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) { diff --git a/lib/librte_eal/common/eal_memcfg.h b/lib/librte_eal/common/eal_memcfg.h index e5b90e31d..6c08652fe 100644 --- a/lib/librte_eal/common/eal_memcfg.h +++ b/lib/librte_eal/common/eal_memcfg.h @@ -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 */ diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c index 71ba380e0..78022f68a 100644 --- a/lib/librte_eal/freebsd/eal/eal.c +++ b/lib/librte_eal/freebsd/eal/eal.c @@ -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; diff --git a/lib/librte_eal/linux/eal/eal.c b/lib/librte_eal/linux/eal/eal.c index f974cec1c..561a4f3f3 100644 --- a/lib/librte_eal/linux/eal/eal.c +++ b/lib/librte_eal/linux/eal/eal.c @@ -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(); -- 2.17.1