From patchwork Mon May 29 09:23:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob Kollanukkaran X-Patchwork-Id: 127660 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1494142BD1; Mon, 29 May 2023 11:23:35 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DBB58410DD; Mon, 29 May 2023 11:23:34 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 05074410D7 for ; Mon, 29 May 2023 11:23:33 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34T7gEKM002144 for ; Mon, 29 May 2023 02:23:33 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=Shnfb4By/MdAQPpQ7Acngg6w8i3PC3HUC7XnK4zPuBs=; b=Ik0+ebplTGTbBijfZGFUDRA4BOKVE26lcWwDW+AcpfHF83KAPJejpVWb3ZpGNvavSpT5 g9FcDJybmvHGvVSJ3HYcbW7y9tNY3ZQJhAtho25xEM7LJ0rN88DiBZa9yRFkqzS9JH3X 8r+Z7g/3bnjEkxGQQ+PF2wHs8isP8wmvRccAMiWfYySXLMOGCz86acCnebHwzyBY6X8e rVun/glReLiW00P9obdyIdclu136c3WaLe/JwhiPTviBTD9NpJueqCE3ScSP6Ax/OBWX s26wQNRSImi6DmAFaJQsrr0WZDCYwxG/VN8LzBcz6fYSuLXPkSbizU9iLEzKnvRwp45i qQ== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3quhcm4s98-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 29 May 2023 02:23:32 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Mon, 29 May 2023 02:23:24 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Mon, 29 May 2023 02:23:24 -0700 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id C2B703F7053; Mon, 29 May 2023 02:23:21 -0700 (PDT) From: To: , Pavan Nikhilesh , "Shijith Thotton" , Nithin Kumar Dabilpuram , Kiran Kumar K , "Sunil Kumar Kori" , Satha Rao CC: Jerin Jacob Subject: [dpdk-dev] [PATCH v1] drivers/cnxk: improve the build time for non arm64 build Date: Mon, 29 May 2023 14:53:12 +0530 Message-ID: <20230529092312.3855432-1-jerinj@marvell.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-Proofpoint-GUID: QaPGoYntjq5FZwH2vdFTfs3ZfQSnGemZ X-Proofpoint-ORIG-GUID: QaPGoYntjq5FZwH2vdFTfs3ZfQSnGemZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-05-29_06,2023-05-25_03,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Jerin Jacob Specialized fast path routines are not applicable to non arm64 build, removing those function contained files to improve the build time on non arm64 build. Signed-off-by: Jerin Jacob Acked-by: Nithin Dabilpuram --- drivers/event/cnxk/cn10k_eventdev.c | 5 +++++ drivers/event/cnxk/cn9k_eventdev.c | 4 ++++ drivers/event/cnxk/meson.build | 10 ++++++++++ drivers/net/cnxk/cn10k_rx_select.c | 6 +++++- drivers/net/cnxk/cn10k_tx_select.c | 6 +++++- drivers/net/cnxk/cn9k_rx_select.c | 6 +++++- drivers/net/cnxk/cn9k_tx_select.c | 6 +++++- drivers/net/cnxk/meson.build | 4 ++++ 8 files changed, 43 insertions(+), 4 deletions(-) diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c index fd71ff15ca..a7534efad6 100644 --- a/drivers/event/cnxk/cn10k_eventdev.c +++ b/drivers/event/cnxk/cn10k_eventdev.c @@ -297,7 +297,9 @@ cn10k_sso_updt_tx_adptr_data(const struct rte_eventdev *event_dev) static void cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev) { +#if defined(RTE_ARCH_ARM64) struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev); + struct roc_cpt *cpt = roc_idev_cpt_get(); const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] = { #define R(name, flags)[flags] = cn10k_sso_hws_deq_##name, @@ -614,6 +616,9 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev) CN10K_SET_EVDEV_ENQ_OP(dev, event_dev->txa_enqueue, sso_hws_tx_adptr_enq); event_dev->txa_enqueue_same_dest = event_dev->txa_enqueue; +#else + RTE_SET_USED(event_dev); +#endif } static void diff --git a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c index b104d19b9b..0656940726 100644 --- a/drivers/event/cnxk/cn9k_eventdev.c +++ b/drivers/event/cnxk/cn9k_eventdev.c @@ -309,6 +309,7 @@ cn9k_sso_updt_tx_adptr_data(const struct rte_eventdev *event_dev) static void cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev) { +#if defined(RTE_ARCH_ARM64) struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev); /* Single WS modes */ const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] = { @@ -662,6 +663,9 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev) event_dev->txa_enqueue_same_dest = event_dev->txa_enqueue; rte_mb(); +#else + RTE_SET_USED(event_dev); +#endif } static void * diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build index 8a7fd53ebd..4f259988df 100644 --- a/drivers/event/cnxk/meson.build +++ b/drivers/event/cnxk/meson.build @@ -31,6 +31,10 @@ if soc_type == 'cn9k' or soc_type == 'all' sources += files( 'cn9k_eventdev.c', 'cn9k_worker.c', +) + +if host_machine.cpu_family().startswith('aarch') +sources += files( 'deq/cn9k/deq_0_15_burst.c', 'deq/cn9k/deq_16_31_burst.c', 'deq/cn9k/deq_32_47_burst.c', @@ -330,11 +334,16 @@ sources += files( 'tx/cn9k/tx_112_127_dual_seg.c', ) endif +endif if soc_type == 'cn10k' or soc_type == 'all' sources += files( 'cn10k_eventdev.c', 'cn10k_worker.c', +) + +if host_machine.cpu_family().startswith('aarch') +sources += files( 'deq/cn10k/deq_0_15_burst.c', 'deq/cn10k/deq_16_31_burst.c', 'deq/cn10k/deq_32_47_burst.c', @@ -484,6 +493,7 @@ sources += files( 'tx/cn10k/tx_112_127_seg.c', ) endif +endif extra_flags = ['-flax-vector-conversions', '-Wno-strict-aliasing'] foreach flag: extra_flags diff --git a/drivers/net/cnxk/cn10k_rx_select.c b/drivers/net/cnxk/cn10k_rx_select.c index 1e0de1b7ac..1d44f2924e 100644 --- a/drivers/net/cnxk/cn10k_rx_select.c +++ b/drivers/net/cnxk/cn10k_rx_select.c @@ -5,7 +5,7 @@ #include "cn10k_ethdev.h" #include "cn10k_rx.h" -static inline void +static __rte_used void pick_rx_func(struct rte_eth_dev *eth_dev, const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX]) { @@ -25,6 +25,7 @@ pick_rx_func(struct rte_eth_dev *eth_dev, void cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev) { +#if defined(RTE_ARCH_ARM64) struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); const eth_rx_burst_t nix_eth_rx_burst[NIX_RX_OFFLOAD_MAX] = { @@ -111,4 +112,7 @@ cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev) return pick_rx_func(eth_dev, nix_eth_rx_vec_burst_reas); else return pick_rx_func(eth_dev, nix_eth_rx_vec_burst); +#else + RTE_SET_USED(eth_dev); +#endif } diff --git a/drivers/net/cnxk/cn10k_tx_select.c b/drivers/net/cnxk/cn10k_tx_select.c index 54023c4234..404f5ba979 100644 --- a/drivers/net/cnxk/cn10k_tx_select.c +++ b/drivers/net/cnxk/cn10k_tx_select.c @@ -5,7 +5,7 @@ #include "cn10k_ethdev.h" #include "cn10k_tx.h" -static inline void +static __rte_used inline void pick_tx_func(struct rte_eth_dev *eth_dev, const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX]) { @@ -23,6 +23,7 @@ pick_tx_func(struct rte_eth_dev *eth_dev, void cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev) { +#if defined(RTE_ARCH_ARM64) struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); const eth_tx_burst_t nix_eth_tx_burst[NIX_TX_OFFLOAD_MAX] = { @@ -64,4 +65,7 @@ cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev) } rte_mb(); +#else + RTE_SET_USED(eth_dev); +#endif } diff --git a/drivers/net/cnxk/cn9k_rx_select.c b/drivers/net/cnxk/cn9k_rx_select.c index 79f171fcc3..05bc33ce6a 100644 --- a/drivers/net/cnxk/cn9k_rx_select.c +++ b/drivers/net/cnxk/cn9k_rx_select.c @@ -5,7 +5,7 @@ #include "cn9k_ethdev.h" #include "cn9k_rx.h" -static inline void +static __rte_used void pick_rx_func(struct rte_eth_dev *eth_dev, const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX]) { @@ -25,6 +25,7 @@ pick_rx_func(struct rte_eth_dev *eth_dev, void cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev) { +#if defined(RTE_ARCH_ARM64) struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); const eth_rx_burst_t nix_eth_rx_burst[NIX_RX_OFFLOAD_MAX] = { @@ -68,4 +69,7 @@ cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev) if (dev->rx_offloads & RTE_ETH_RX_OFFLOAD_SCATTER) return pick_rx_func(eth_dev, nix_eth_rx_vec_burst_mseg); return pick_rx_func(eth_dev, nix_eth_rx_vec_burst); +#else + RTE_SET_USED(eth_dev); +#endif } diff --git a/drivers/net/cnxk/cn9k_tx_select.c b/drivers/net/cnxk/cn9k_tx_select.c index 62beb1bf38..e08883f032 100644 --- a/drivers/net/cnxk/cn9k_tx_select.c +++ b/drivers/net/cnxk/cn9k_tx_select.c @@ -5,7 +5,7 @@ #include "cn9k_ethdev.h" #include "cn9k_tx.h" -static inline void +static __rte_used void pick_tx_func(struct rte_eth_dev *eth_dev, const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX]) { @@ -23,6 +23,7 @@ pick_tx_func(struct rte_eth_dev *eth_dev, void cn9k_eth_set_tx_function(struct rte_eth_dev *eth_dev) { +#if defined(RTE_ARCH_ARM64) struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); const eth_tx_burst_t nix_eth_tx_burst[NIX_TX_OFFLOAD_MAX] = { @@ -60,4 +61,7 @@ cn9k_eth_set_tx_function(struct rte_eth_dev *eth_dev) } rte_mb(); +#else + RTE_SET_USED(eth_dev); +#endif } diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build index 62b8bb90fb..394d3d01f4 100644 --- a/drivers/net/cnxk/meson.build +++ b/drivers/net/cnxk/meson.build @@ -45,6 +45,7 @@ sources += files( 'cn9k_tx_select.c', ) +if host_machine.cpu_family().startswith('aarch') sources += files( 'rx/cn9k/rx_0_15.c', 'rx/cn9k/rx_16_31.c', @@ -115,6 +116,7 @@ sources += files( 'tx/cn9k/tx_112_127_vec_mseg.c', ) endif +endif if soc_type == 'cn10k' or soc_type == 'all' # CN10K @@ -126,6 +128,7 @@ sources += files( 'cn10k_tx_select.c', ) +if host_machine.cpu_family().startswith('aarch') sources += files( 'rx/cn10k/rx_0_15.c', 'rx/cn10k/rx_16_31.c', @@ -196,6 +199,7 @@ sources += files( 'tx/cn10k/tx_112_127_vec_mseg.c', ) endif +endif deps += ['bus_pci', 'cryptodev', 'eventdev', 'security'] deps += ['common_cnxk', 'mempool_cnxk']