From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gaetan.rivet@6wind.com>
Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65])
 by dpdk.org (Postfix) with ESMTP id 252276CA2
 for <dev@dpdk.org>; Tue, 27 Mar 2018 01:19:09 +0200 (CEST)
Received: by mail-wm0-f65.google.com with SMTP id v21so18401069wmc.1
 for <dev@dpdk.org>; Mon, 26 Mar 2018 16:19:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=6wind-com.20150623.gappssmtp.com; s=20150623;
 h=from:to:cc:subject:date:message-id:in-reply-to:references
 :in-reply-to:references;
 bh=LW+RXIHY14Dta5M/9l1yuYJM2Wq+xu6P9HkYZjhGN4o=;
 b=C87gTeE5gwZSkNst6j/HGAISAn10vYeg24OorBtGy54eBW2fYVd1AK8yBEUE6wYCx7
 l5zIz74lr/NvnriAr6u6c6JUkBOMNwbjDMfH2DIlpMf+Zbo5EnzSzbBE/+rbLSPXvAIo
 KmCCXLm3zaGAm+N94RcC29l6Nvn28nTJJezqhSZbEq6NdUemLQ+mwOdZolWcErz+TUvk
 FFs2guIcva+ZOm5Jbhe11vg+786groMvZoZRV6D+DqhsoitzA99yeNulj9UQcI9Nw9BS
 7v2VZqijZJO6pxNlaUP7WEH3M1SJTyOWcJf+el9grKIrhDfeFXK9EGpHF7sJg/Vu0ns8
 Bkyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:in-reply-to:references;
 bh=LW+RXIHY14Dta5M/9l1yuYJM2Wq+xu6P9HkYZjhGN4o=;
 b=NuCXLfd7RM9B8Xdr6KJPVKhTDhdGyq7T+pbJfFcTDgHyVmVvVkZ4YhZZ32+cgJBIH3
 J5vx8xlqMtp2F0STTYe+Ss9fVSS4TNDyzV3LYIlCLKO0gp2sUSuXlKC+Wh3CQTAN7dFd
 CZZBRzCngL8zpNSP2xJfORfGJbmQY1u65w+n3HnBZ0uxJ72F8S1e94OUWhse5L7QynvD
 T+yzyt5j0CbXgjcBBVRThL0pQf7mxe7zUTtxHQa2RN4YfVG5gYEsivdfFhMpE6Wc/gFL
 SbxoOB77MXvvXIk3ZPL1NFvxL+brwawRk77Pv6La8Fx+FuJeo3P6MNDUD8K6Kwuc9WSg
 Uohg==
X-Gm-Message-State: AElRT7EvewajgbO9cxVGqC1L+DS59GEIwhasds1cFn20pIqnHkohV4Du
 FH76gLAkS/opnKlNJp/ZGftGT1t6
X-Google-Smtp-Source: AG47ELsQsdGUsryXhupY1mYsVNq3XAGxfy9QiJxJrsFyabdLkJqs/sMaevYSACrWmCx1vgs31GPRqQ==
X-Received: by 10.28.26.73 with SMTP id a70mr14527310wma.30.1522106348390;
 Mon, 26 Mar 2018 16:19:08 -0700 (PDT)
Received: from bidouze.dev.6wind.com. (host.78.145.23.62.rev.coltfrance.com.
 [62.23.145.78])
 by smtp.gmail.com with ESMTPSA id 67sm343712wra.9.2018.03.26.16.19.07
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 26 Mar 2018 16:19:07 -0700 (PDT)
From: Gaetan Rivet <gaetan.rivet@6wind.com>
To: dev@dpdk.org
Cc: Gaetan Rivet <gaetan.rivet@6wind.com>
Date: Tue, 27 Mar 2018 01:18:27 +0200
Message-Id: <2ff495aa4bea794ab32c6c7aaafe69bcc38f16df.1522105876.git.gaetan.rivet@6wind.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <cover.1522105876.git.gaetan.rivet@6wind.com>
References: <cover.1521652453.git.gaetan.rivet@6wind.com>
 <cover.1522105876.git.gaetan.rivet@6wind.com>
In-Reply-To: <cover.1522105876.git.gaetan.rivet@6wind.com>
References: <cover.1522105876.git.gaetan.rivet@6wind.com>
Subject: [dpdk-dev] [PATCH v3 03/20] eal: list acceptable init priorities
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Mar 2018 23:19:09 -0000

Build a central list to quickly see each used priorities for
constructors, allowing to verify that they are both above 100 and in the
proper order.

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
---
 lib/librte_eal/common/eal_common_log.c     | 2 +-
 lib/librte_eal/common/include/rte_bus.h    | 2 +-
 lib/librte_eal/common/include/rte_common.h | 8 +++++++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c
index 37b2e20e5..b384c72d3 100644
--- a/lib/librte_eal/common/eal_common_log.c
+++ b/lib/librte_eal/common/eal_common_log.c
@@ -224,7 +224,7 @@ static const struct logtype logtype_strings[] = {
 };
 
 /* Logging should be first initializer (before drivers and bus) */
-RTE_INIT_PRIO(rte_log_init, 101);
+RTE_INIT_PRIO(rte_log_init, LOG);
 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 6fb08341a..eb9eded4e 100644
--- a/lib/librte_eal/common/include/rte_bus.h
+++ b/lib/librte_eal/common/include/rte_bus.h
@@ -325,7 +325,7 @@ enum rte_iova_mode rte_bus_get_iommu_class(void);
  * The constructor has higher priority than PMD constructors.
  */
 #define RTE_REGISTER_BUS(nm, bus) \
-RTE_INIT_PRIO(businitfn_ ##nm, 110); \
+RTE_INIT_PRIO(businitfn_ ##nm, BUS); \
 static void businitfn_ ##nm(void) \
 {\
 	(bus).name = RTE_STR(nm);\
diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
index c7803e41c..99a799d6d 100644
--- a/lib/librte_eal/common/include/rte_common.h
+++ b/lib/librte_eal/common/include/rte_common.h
@@ -81,6 +81,12 @@ typedef uint16_t unaligned_uint16_t;
  */
 #define RTE_SET_USED(x) (void)(x)
 
+#define RTE_PRIORITY_LOG 101
+#define RTE_PRIORITY_BUS 110
+
+#define RTE_PRIO(prio) \
+	RTE_PRIORITY_ ## prio
+
 /**
  * Run function before main() with low priority.
  *
@@ -102,7 +108,7 @@ static void __attribute__((constructor, used)) func(void)
  *   Lowest number is the first to run.
  */
 #define RTE_INIT_PRIO(func, prio) \
-static void __attribute__((constructor(prio), used)) func(void)
+static void __attribute__((constructor(RTE_PRIO(prio)), used)) func(void)
 
 /**
  * Force a function to be inlined
-- 
2.11.0