From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [PATCH v2] rte: initialize logging before bus Date: Mon, 28 Aug 2017 11:13:31 -0700 Message-ID: <20170828181331.16112-1-stephen@networkplumber.org> References: <20170828175703.5746-1-stephen@networkplumber.org> Cc: Stephen Hemminger , Stephen Hemminger To: dev@dpdk.org Return-path: Received: from mail-pg0-f50.google.com (mail-pg0-f50.google.com [74.125.83.50]) by dpdk.org (Postfix) with ESMTP id 453241B53 for ; Mon, 28 Aug 2017 20:13:36 +0200 (CEST) Received: by mail-pg0-f50.google.com with SMTP id r133so3605707pgr.3 for ; Mon, 28 Aug 2017 11:13:36 -0700 (PDT) In-Reply-To: <20170828175703.5746-1-stephen@networkplumber.org> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Any log messages during bus initialization maybe lost because the bus registration constructor is called before the logging constructor. Fixes: a97725791eec ("bus: introduce bus abstraction") Signed-off-by: Stephen Hemminger --- v2 - fix commit message typos lib/librte_eal/common/eal_common_log.c | 3 ++- lib/librte_eal/common/include/rte_bus.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c index 0e3b9320954f..b62b0a6d61c8 100644 --- a/lib/librte_eal/common/eal_common_log.c +++ b/lib/librte_eal/common/eal_common_log.c @@ -289,7 +289,8 @@ static const struct logtype logtype_strings[] = { {RTE_LOGTYPE_USER8, "user8"} }; -RTE_INIT(rte_log_init); +/* Logging should be first initialzer (before drivers and bus) */ +RTE_INIT_PRIO(rte_log_init, 101); static void rte_log_init(void) { diff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/common/include/rte_bus.h index c79368d3c882..8f8b09954abc 100644 --- a/lib/librte_eal/common/include/rte_bus.h +++ b/lib/librte_eal/common/include/rte_bus.h @@ -285,7 +285,7 @@ struct rte_bus *rte_bus_find_by_name(const char *busname); * The constructor has higher priority than PMD constructors. */ #define RTE_REGISTER_BUS(nm, bus) \ -RTE_INIT_PRIO(businitfn_ ##nm, 101); \ +RTE_INIT_PRIO(businitfn_ ##nm, 110); \ static void businitfn_ ##nm(void) \ {\ (bus).name = RTE_STR(nm);\ -- 2.11.0