From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A875342BE8; Wed, 31 May 2023 03:36:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 34EA840ED7; Wed, 31 May 2023 03:36:01 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 23A5140E2D for ; Wed, 31 May 2023 03:35:59 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34ULk0Hx020014 for ; Tue, 30 May 2023 18:35:59 -0700 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3qwsb8rtre-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 30 May 2023 18:35:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l2bxMy78815a1SfOU7qPfKsNUMqzzX/Ah0TN01D4W89xv56cWx1IhMRVJ/mpDLCh3ScV6J0ELnhNfxvZROZ0lZ8X4fVdYPd7QykkKij+6gnrqmM0vgHVWaYaAExnXwI2VykLxgvN3JsLRsbbCgWB8tXGdISDrGywG3LzGYFpQ3qs6jEPL2HodeDo0jZ1FiNR/qeVSbmAA/PsnJyU8JKtmR34u+P5SveBUyl69bUsZQ55tx3RlnUL0zAljpBl0Nhu0LoeeISFYdxVCVCrE5NfsjHpLDuY0R3D7XemUDsNIktAhYfev6tcsb2u4UD2/eoJ57OEJylz5gSOgvoWtNtdxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ctsSByi3Iaa1HK0j1QHeCth//mjwVp1moI5ezX6aEyI=; b=DE53WV7eFyDYAf/oGT65KjNUsLt5mK+6JmXNfMWT6URZTaEJW7dsf8r/rPh+9C/P9w0hBhKVuwER709bp6rMJncyF9T/00jo3vhI4T4fF5AyxT+AvsMbDX5lFkjwxOjfoGHN5t3JdNKvOPQtMVQ71PPR5kuvQ3LAKsJ/+anFuQewBoi0mbuOO453zV0B+g40n2snrQa9I/PhnD64Dt8QHlz+bxosDkRZ9Q3qwWwuFj1CFV2fqFNSLPv9NenI/DgNiDw8p2ced10LhMMs6qFAOs53CBWiL5CxBa6P/j4/455rmVJomcAvb2W4Ranbwr7NHmpLdekBW/OJ6Y3lWM5Csw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ctsSByi3Iaa1HK0j1QHeCth//mjwVp1moI5ezX6aEyI=; b=m+GbaBwIlVTtJWEOkLiHzpbx2nPsLInpg59HD9G7CryX7OPEz0bq/4js9qcANZ8JJvSYgrBg8C58x/l9802zk+7NVcWVm5sHF3HQ3YsKRtajXunQ6Bw1mN2KNtUQ0Bs+oe0TZzBDIRi8PBwKkFvNfd12mTKgFZurG+797nK7DAI= Received: from DM5PR18MB2168.namprd18.prod.outlook.com (2603:10b6:4:b4::17) by CH3PR18MB5404.namprd18.prod.outlook.com (2603:10b6:610:156::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.23; Wed, 31 May 2023 01:35:53 +0000 Received: from DM5PR18MB2168.namprd18.prod.outlook.com ([fe80::7072:6045:caa2:5747]) by DM5PR18MB2168.namprd18.prod.outlook.com ([fe80::7072:6045:caa2:5747%7]) with mapi id 15.20.6433.024; Wed, 31 May 2023 01:35:53 +0000 From: Nithin Kumar Dabilpuram To: Jerin Jacob Kollanukkaran , "dev@dpdk.org" , Pavan Nikhilesh Bhagavatula , Shijith Thotton , Kiran Kumar Kokkilagadda , Sunil Kumar Kori , Satha Koteswara Rao Kottidi Subject: Re: [dpdk-dev] [PATCH v1] drivers/cnxk: improve the build time for non arm64 build Thread-Topic: [dpdk-dev] [PATCH v1] drivers/cnxk: improve the build time for non arm64 build Thread-Index: AQHZkg88vFv4iJ+/70mRrOmMk4yYDK9zm+RF Date: Wed, 31 May 2023 01:35:53 +0000 Message-ID: References: <20230529092312.3855432-1-jerinj@marvell.com> In-Reply-To: <20230529092312.3855432-1-jerinj@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM5PR18MB2168:EE_|CH3PR18MB5404:EE_ x-ms-office365-filtering-correlation-id: 7e64d133-a22b-4077-ae0e-08db61775f7c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VggxKxadFRySWIEtxP7tgEX+rRGRyuFLqfqXxiexSPF088rSXdw/BxGgPPq6gzSqUTonjmG31KjrhU15eNTTOdZZybAWqIf0YKN3hm/rZRRbCh3xpYHZQu49FeWx+QonavkBmxRslYlSC2HdnjigvlBxDzM0NPHB4/sTkhL/5JIHGWSzH6WMAzgSzo7ltDHQdGbapF7zMfE0ZQM3AAQM0ZrabaNOofw0fSxDVk4p1PDwPVn0+s4xgfBSsySBB2eJ6tMKJZMgm9pNf65q8YWpwlgx7cr+0+ATBrjJh+t5x+J5kZL18ob2NlQ/LxX3n8u0cSqRbIsM7TgCwi1xT2QacZsvvQgED5ux52Q+7rmGMKHGMxSRc3m/iOt/xnwd0EH0hPG9oEXMhwCVfFqGygVG0CZBOqJMyDFyP/x0U4H+di+5CKJ7q/IQuY8eVneYk1tK+akxVkrnT3bQCeOsGtBzb9EjxNNEZr7g/p7bqsWmLlMDp0SXkGbKf6Y2AB8Te+g2XHUmVqeDP5xZvCILKfSEo69Vz8364z/BCL2LMAkV30x+ytW7xDqYIqUJgR3nAlTEcazGWlb41h6nC1/i6oLPn6P2X7x+9l6YobDzajWJI1YgienlhzVSKHD5rDr+NYvB x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR18MB2168.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(366004)(346002)(39860400002)(376002)(396003)(136003)(451199021)(55016003)(26005)(6506007)(55236004)(9686003)(53546011)(41300700001)(186003)(83380400001)(6636002)(91956017)(64756008)(76116006)(316002)(110136005)(66476007)(478600001)(66556008)(66446008)(66946007)(8936002)(52536014)(5660300002)(33656002)(8676002)(86362001)(7696005)(38100700002)(122000001)(71200400001)(2906002)(38070700005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?nM5f33kAQEVhQ1QAXbU1B8l7x3azbiJTPfqJjnsm/GtgKG01aUSMdczPIN?= =?iso-8859-1?Q?mgXfsPvRl3cSa0X8XEyALjh6sN9+9M4tVgWUMdmNEgCq9L7EEh0Xa2PuGm?= =?iso-8859-1?Q?DGrwhN0b+XurfX8bdbV9/HDuYMlMzvSEozAJnti7PX60QgaIboztXVfFyX?= =?iso-8859-1?Q?9Ycu0yvaVlPNsCsMR4eLuvcGs2LAZnyMZ65btqp9TtpcvMUm/UWxuzqbyU?= =?iso-8859-1?Q?CJoktdepDJDYlSg15GJMXcIT5JKbB/pKAuRcmah8mb6mNdcWqAgQkiuhpK?= =?iso-8859-1?Q?oPadxLSk5FxCJtQLpw7sX9CUIqCYgAuHIgCwdcmWmPbjiRjDP7E4DIzjoq?= =?iso-8859-1?Q?m2kbH69jGrYCg3CmKNT9/NudOSkb0DDQ8dDhp7NQ7RR9+UpKYop46D7X5L?= =?iso-8859-1?Q?8Q5rqhn9qdbOimahBeSj2DY6XUQ7KBTsBNvQqZcic9+8V8idgLk/8Yg8YF?= =?iso-8859-1?Q?H0ZroahWC/kYo0VHyhpKJn4q9R7yiaw0tbywBH3LgkK/X7iMA1xU0adnXm?= =?iso-8859-1?Q?e3WTOP47QiqHUAY8GFrT901V0Tt3fdE0wRkESAnCwyMc251SOBmOboSDZ3?= =?iso-8859-1?Q?K3XwwOKNc6vNDhOp+zEnIrVfZPK37I5oM2HTOnu4hyUirSw2A2Ja5K28iS?= =?iso-8859-1?Q?Iq/CIsbbSnyX6p6y9sqE+BJ60NrkabghB3PQkSzezXJAvcYEqHGSUlArKs?= =?iso-8859-1?Q?pFo7gIu5M8fCYuHvsbbYlExlAw7W9Xats2nFGb92hIGEb4DFVLDy7Ri7QF?= =?iso-8859-1?Q?BB8ZD9De6aXZmk28RBsibRH+EQUTLM5aWTGdi5OKnXXhqghBiMljfM5d3c?= =?iso-8859-1?Q?+2kvDAru1baSd9jnv8Lf1aEARaqcNorNipLyVbKiTJzIQ1kQRe3oAr8NU3?= =?iso-8859-1?Q?0DQXB/dlELPf+2RGpYMnKcO8hgBBtynAkExNLrWkDH1E4OsEj6YaQuRGkm?= =?iso-8859-1?Q?/udkQw7K2YxFjwGzsFggyUAAbmJwfXpALjmVsHQDuYLgQ2LgT/1jh3aeV7?= =?iso-8859-1?Q?VSmm4NCqef23f4A586FO6Yb5ov5ViDH7RfwlWDQDCm4DelZrW76aFGNBJ9?= =?iso-8859-1?Q?9YACFkNRdhyyx/exGKc9s0Wz12JRax23SCFwg2y95rsu+kJpZmzXsV3oTv?= =?iso-8859-1?Q?kNyQkpSzJ51hSmzznU7qnk1wHxDCcD1nMajPuqA1NqURbEBK7qTfziEItP?= =?iso-8859-1?Q?6NB6XrNUWiLMfFNvHDnH/JURfF70q4k6f3T5Ce5o5FglM+rJ+9BxgJNT5w?= =?iso-8859-1?Q?SBI4Qf3+MFSApLnNeX7u9J/3MahiXMNBhrdRadfCsLbhRBjABjhMiDRcuK?= =?iso-8859-1?Q?I5YRrzy1l0bHQBszt77YsmUCkzlxJzJAB++wyvXDntOb4OtKoA3vmEDCqo?= =?iso-8859-1?Q?VLQPygVG9UtXLUUolGvA61G2/9+A6EFgClGrKSKUnM5QTiKrcuRGNrzh70?= =?iso-8859-1?Q?T03jWfmojpp+V/EhweWX2EOaAPtN0GS5mydMFAYQ+C/1O4V/Q9lxoJzZsn?= =?iso-8859-1?Q?ozAnhpMI1qnHpFgWXtqzmzfIKl/Gvs6Tl3bBAkPqv10IkMunX7++2I3KJY?= =?iso-8859-1?Q?z/UrAzuAzoA693KZemFGdtotmOK4nhYpWi3ID68lcKfgKXULMhEHKbbjr7?= =?iso-8859-1?Q?lgDFWbLSXA+jZXTQ3c0crLV+STj3Nmvy6o?= Content-Type: multipart/alternative; boundary="_000_DM5PR18MB216886BBB9F9F4555F001FA3AF489DM5PR18MB2168namp_" MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR18MB2168.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7e64d133-a22b-4077-ae0e-08db61775f7c X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2023 01:35:53.3952 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tvf5NL7WSgejzX3bdb0dVqRae+61VdCIBqpUx9QmRzDSQQXgltrNCS4WqV0wV66ryavVPUTnRqfA3zAytjmuEw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR18MB5404 X-Proofpoint-ORIG-GUID: Dk1-Rn_jVuR3OrqEoZSMeaagHrEAdA5- X-Proofpoint-GUID: Dk1-Rn_jVuR3OrqEoZSMeaagHrEAdA5- 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-30_18,2023-05-30_01,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 --_000_DM5PR18MB216886BBB9F9F4555F001FA3AF489DM5PR18MB2168namp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Acked-by: Nithin Dabilpuram ________________________________ From: jerinj@marvell.com Sent: Monday, May 29, 2023 2:53 PM To: dev@dpdk.org ; Pavan Nikhilesh Bhagavatula ; Shijith Thotton ; Nithin Kumar Dabilpur= am ; Kiran Kumar Kokkilagadda ; Sunil Kumar Kori ; Satha Koteswara Rao Kottidi Cc: Jerin Jacob Kollanukkaran Subject: [dpdk-dev] [PATCH v1] drivers/cnxk: improve the build time for non= arm64 build 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 --- 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 =3D cnxk_sso_pmd_priv(event_dev); + struct roc_cpt *cpt =3D roc_idev_cpt_get(); const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] =3D { #define R(name, flags)[flags] =3D 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_hw= s_tx_adptr_enq); event_dev->txa_enqueue_same_dest =3D 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_e= ventdev.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 =3D cnxk_sso_pmd_priv(event_dev); /* Single WS modes */ const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] =3D { @@ -662,6 +663,9 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev) event_dev->txa_enqueue_same_dest =3D 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.buil= d index 8a7fd53ebd..4f259988df 100644 --- a/drivers/event/cnxk/meson.build +++ b/drivers/event/cnxk/meson.build @@ -31,6 +31,10 @@ if soc_type =3D=3D 'cn9k' or soc_type =3D=3D 'all' sources +=3D files( 'cn9k_eventdev.c', 'cn9k_worker.c', +) + +if host_machine.cpu_family().startswith('aarch') +sources +=3D 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 +=3D files( 'tx/cn9k/tx_112_127_dual_seg.c', ) endif +endif if soc_type =3D=3D 'cn10k' or soc_type =3D=3D 'all' sources +=3D files( 'cn10k_eventdev.c', 'cn10k_worker.c', +) + +if host_machine.cpu_family().startswith('aarch') +sources +=3D 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 +=3D files( 'tx/cn10k/tx_112_127_seg.c', ) endif +endif extra_flags =3D ['-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 =3D cnxk_eth_pmd_priv(eth_dev); const eth_rx_burst_t nix_eth_rx_burst[NIX_RX_OFFLOAD_MAX] =3D { @@ -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 =3D cnxk_eth_pmd_priv(eth_dev); const eth_tx_burst_t nix_eth_tx_burst[NIX_TX_OFFLOAD_MAX] =3D { @@ -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_s= elect.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 =3D cnxk_eth_pmd_priv(eth_dev); const eth_rx_burst_t nix_eth_rx_burst[NIX_RX_OFFLOAD_MAX] =3D { @@ -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_s= elect.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 =3D cnxk_eth_pmd_priv(eth_dev); const eth_tx_burst_t nix_eth_tx_burst[NIX_TX_OFFLOAD_MAX] =3D { @@ -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 +=3D files( 'cn9k_tx_select.c', ) +if host_machine.cpu_family().startswith('aarch') sources +=3D files( 'rx/cn9k/rx_0_15.c', 'rx/cn9k/rx_16_31.c', @@ -115,6 +116,7 @@ sources +=3D files( 'tx/cn9k/tx_112_127_vec_mseg.c', ) endif +endif if soc_type =3D=3D 'cn10k' or soc_type =3D=3D 'all' # CN10K @@ -126,6 +128,7 @@ sources +=3D files( 'cn10k_tx_select.c', ) +if host_machine.cpu_family().startswith('aarch') sources +=3D files( 'rx/cn10k/rx_0_15.c', 'rx/cn10k/rx_16_31.c', @@ -196,6 +199,7 @@ sources +=3D files( 'tx/cn10k/tx_112_127_vec_mseg.c', ) endif +endif deps +=3D ['bus_pci', 'cryptodev', 'eventdev', 'security'] deps +=3D ['common_cnxk', 'mempool_cnxk'] -- 2.40.1 --_000_DM5PR18MB216886BBB9F9F4555F001FA3AF489DM5PR18MB2168namp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>


From: jeri= nj@marvell.com <jerinj@marvell.com>
Sent: Monday, May 29, 2023 2:53 PM
To: dev@dpdk.org <dev@dpdk.org>; Pavan Nikhilesh Bhagavatula &= lt;pbhagavatula@marvell.com>; Shijith Thotton <sthotton@marvell.com&g= t;; Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>; Kiran Kumar Ko= kkilagadda <kirankumark@marvell.com>; Sunil Kumar Kori <skori@marv= ell.com>; Satha Koteswara Rao Kottidi <skoteshwar@marvell.com>
Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Subject: [dpdk-dev] [PATCH v1] drivers/cnxk: improve the build time = for non arm64 build
 
From: Jerin Jacob <jerinj@marvell.com>

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 <jerinj@marvell.com>
---
 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= =3D cnxk_sso_pmd_priv(event_dev);
+
         struct roc_cpt *cpt =3D ro= c_idev_cpt_get();
         const event_dequeue_t sso_= hws_deq[NIX_RX_OFFLOAD_MAX] =3D {
 #define R(name, flags)[flags] =3D cn10k_sso_hws_deq_##name,
@@ -614,6 +616,9 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)             &nb= sp;    CN10K_SET_EVDEV_ENQ_OP(dev, event_dev->txa_enqueue= , sso_hws_tx_adptr_enq);
 
         event_dev->txa_enqueue_= same_dest =3D 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_e= ventdev.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= =3D cnxk_sso_pmd_priv(event_dev);
         /* Single WS modes */
         const event_dequeue_t sso_= hws_deq[NIX_RX_OFFLOAD_MAX] =3D {
@@ -662,6 +663,9 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 
         event_dev->txa_enqueue_= same_dest =3D 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.buil= d
index 8a7fd53ebd..4f259988df 100644
--- a/drivers/event/cnxk/meson.build
+++ b/drivers/event/cnxk/meson.build
@@ -31,6 +31,10 @@ if soc_type =3D=3D 'cn9k' or soc_type =3D=3D 'all'
 sources +=3D files(
         'cn9k_eventdev.c',
         'cn9k_worker.c',
+)
+
+if host_machine.cpu_family().startswith('aarch')
+sources +=3D 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 +=3D files(
         'tx/cn9k/tx_112_127_dual_s= eg.c',
 )
 endif
+endif
 
 if soc_type =3D=3D 'cn10k' or soc_type =3D=3D 'all'
 sources +=3D files(
         'cn10k_eventdev.c',
         'cn10k_worker.c',
+)
+
+if host_machine.cpu_family().startswith('aarch')
+sources +=3D 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 +=3D files(
         'tx/cn10k/tx_112_127_seg.c= ',
 )
 endif
+endif
 
 extra_flags =3D ['-flax-vector-conversions', '-Wno-strict-aliasing']<= br>  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,
            &nb= sp; 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 = =3D cnxk_eth_pmd_priv(eth_dev);
 
         const eth_rx_burst_t nix_e= th_rx_burst[NIX_RX_OFFLOAD_MAX] =3D {
@@ -111,4 +112,7 @@ cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev)<= br>             &nb= sp;    return pick_rx_func(eth_dev, nix_eth_rx_vec_burst_rea= s);
         else
            &nb= sp;    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,
            &nb= sp; 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 = =3D cnxk_eth_pmd_priv(eth_dev);
 
         const eth_tx_burst_t nix_e= th_tx_burst[NIX_TX_OFFLOAD_MAX] =3D {
@@ -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_s= elect.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,
            &nb= sp; 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 = =3D cnxk_eth_pmd_priv(eth_dev);
 
         const eth_rx_burst_t nix_e= th_rx_burst[NIX_RX_OFFLOAD_MAX] =3D {
@@ -68,4 +69,7 @@ cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev)
         if (dev->rx_offloads &a= mp; RTE_ETH_RX_OFFLOAD_SCATTER)
            &nb= sp;    return pick_rx_func(eth_dev, nix_eth_rx_vec_burst_mse= g);
         return pick_rx_func(eth_de= v, 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_s= elect.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,
            &nb= sp; 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 = =3D cnxk_eth_pmd_priv(eth_dev);
 
         const eth_tx_burst_t nix_e= th_tx_burst[NIX_TX_OFFLOAD_MAX] =3D {
@@ -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 +=3D files(
         'cn9k_tx_select.c',
 )
 
+if host_machine.cpu_family().startswith('aarch')
 sources +=3D files(
         'rx/cn9k/rx_0_15.c',
         'rx/cn9k/rx_16_31.c',
@@ -115,6 +116,7 @@ sources +=3D files(
         'tx/cn9k/tx_112_127_vec_ms= eg.c',
 )
 endif
+endif
 
 if soc_type =3D=3D 'cn10k' or soc_type =3D=3D 'all'
 # CN10K
@@ -126,6 +128,7 @@ sources +=3D files(
         'cn10k_tx_select.c',
 )
 
+if host_machine.cpu_family().startswith('aarch')
 sources +=3D files(
         'rx/cn10k/rx_0_15.c',
         'rx/cn10k/rx_16_31.c',
@@ -196,6 +199,7 @@ sources +=3D files(
         'tx/cn10k/tx_112_127_vec_m= seg.c',
 )
 endif
+endif
 
 deps +=3D ['bus_pci', 'cryptodev', 'eventdev', 'security']
 deps +=3D ['common_cnxk', 'mempool_cnxk']
--
2.40.1

--_000_DM5PR18MB216886BBB9F9F4555F001FA3AF489DM5PR18MB2168namp_--