From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shreyansh Jain Subject: Re: [PATCH v2 4/4] lib: reduce global variable usage Date: Mon, 8 Oct 2018 14:15:58 +0530 Message-ID: <13444cc5-2a1e-881b-40a0-4ab972324e5e@nxp.com> References: <20181004034047.26824-1-ferruh.yigit@intel.com> <20181005162612.31906-1-ferruh.yigit@intel.com> <20181005162612.31906-4-ferruh.yigit@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Reshma Pattan , Hemant Agrawal , Ashish Gupta , Fiona Trahe , Pablo de Lara , Akhil Goyal , Declan Doherty , Fan Zhang , Rahul Lakkireddy , Gaetan Rivet , Qi Zhang , Xiao Wang , Beilei Xing , Wenzhuo Lu , Konstantin Ananyev , Rasesh Mody , Harish Patil , Shahed Shaikh , Andrew Rybchenko , Jasvinder Singh , Cristian Dumitrescu , Keith Wiles Return-path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0054.outbound.protection.outlook.com [104.47.1.54]) by dpdk.org (Postfix) with ESMTP id E9206DE3 for ; Mon, 8 Oct 2018 10:46:31 +0200 (CEST) In-Reply-To: <20181005162612.31906-4-ferruh.yigit@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Friday 05 October 2018 09:56 PM, Ferruh Yigit wrote: > Some global variables can be eliminated, since they are not part of > public interface, it is free to remove them. > > Signed-off-by: Ferruh Yigit > --- > lib/librte_compressdev/rte_compressdev.c | 32 ++++++++---------- > lib/librte_compressdev/rte_compressdev_pmd.h | 5 --- > lib/librte_cryptodev/rte_cryptodev.c | 34 +++++++++----------- > lib/librte_cryptodev/rte_cryptodev_pmd.h | 3 -- > lib/librte_eventdev/rte_eventdev.c | 8 ++--- > lib/librte_eventdev/rte_eventdev_pmd.h | 2 -- > lib/librte_rawdev/rte_rawdev.c | 10 +++--- > lib/librte_rawdev/rte_rawdev_pmd.h | 2 -- > 8 files changed, 37 insertions(+), 59 deletions(-) [...] > diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c > index 62b6b97ef..9f1e3592d 100644 > --- a/lib/librte_rawdev/rte_rawdev.c > +++ b/lib/librte_rawdev/rte_rawdev.c > @@ -35,21 +35,19 @@ > /* dynamic log identifier */ > int librawdev_logtype; > > -struct rte_rawdev rte_rawdevices[RTE_RAWDEV_MAX_DEVS]; > +static struct rte_rawdev rte_rawdevices[RTE_RAWDEV_MAX_DEVS]; > > -struct rte_rawdev *rte_rawdevs = &rte_rawdevices[0]; > +struct rte_rawdev *rte_rawdevs = rte_rawdevices; > > static struct rte_rawdev_global rawdev_globals = { > .nb_devs = 0 > }; > > -struct rte_rawdev_global *rte_rawdev_globals = &rawdev_globals; > - > /* Raw device, northbound API implementation */ > uint8_t > rte_rawdev_count(void) > { > - return rte_rawdev_globals->nb_devs; > + return rawdev_globals.nb_devs; > } > > uint16_t > @@ -60,7 +58,7 @@ rte_rawdev_get_dev_id(const char *name) > if (!name) > return -EINVAL; > > - for (i = 0; i < rte_rawdev_globals->nb_devs; i++) > + for (i = 0; i < rawdev_globals.nb_devs; i++) > if ((strcmp(rte_rawdevices[i].name, name) > == 0) && > (rte_rawdevices[i].attached == > diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h > index bb9bbc350..811e51d07 100644 > --- a/lib/librte_rawdev/rte_rawdev_pmd.h > +++ b/lib/librte_rawdev/rte_rawdev_pmd.h > @@ -73,8 +73,6 @@ struct rte_rawdev_global { > uint16_t nb_devs; > }; > > -extern struct rte_rawdev_global *rte_rawdev_globals; > -/** Pointer to global raw devices data structure. */ > extern struct rte_rawdev *rte_rawdevs; > /** The pool of rte_rawdev structures. */ I think `rte_rawdevs` can also be removed from an exposed symbol. In all cases (at least for now), this is being accessed using an API (and no macros). There should be no need for people to read this directly if sufficient get_by_* APIs are available. Wouldn't same be valid for rte_compressdevs as well? Besides the above: Acked-by: Shreyansh Jain