From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id F360995EA for ; Thu, 25 Dec 2014 18:46:54 +0100 (CET) Received: from [2001:470:8:a08:215:ff:fecc:4872] (helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1Y4CUs-0005LY-NC; Thu, 25 Dec 2014 12:46:53 -0500 Date: Thu, 25 Dec 2014 12:46:49 -0500 From: Neil Horman To: Ravi Kerur Message-ID: <20141225174649.GG3199@localhost.localdomain> References: <1419521597-31978-1-git-send-email-rkerur@gmail.com> <1419521597-31978-8-git-send-email-rkerur@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1419521597-31978-8-git-send-email-rkerur@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH 7/7] Move EAL common functions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Dec 2014 17:46:55 -0000 On Thu, Dec 25, 2014 at 10:33:17AM -0500, Ravi Kerur wrote: > Move common functions in eal_memory.c to librte_eal/common > directory. > Use RTE_EXEC_ENV_BSDAPP to differentiate minor differences in > common functions. > Fix checkpatch warnings and errors. > > Signed-off-by: Ravi Kerur > --- > lib/librte_eal/bsdapp/eal/eal_memory.c | 36 ++------------------------ > lib/librte_eal/common/eal_common_memory.c | 43 +++++++++++++++++++++++++++++-- > lib/librte_eal/common/eal_private.h | 28 ++++++++++++++++++++ > lib/librte_eal/linuxapp/eal/eal_memory.c | 36 ++------------------------ > 4 files changed, 73 insertions(+), 70 deletions(-) > > diff --git a/lib/librte_eal/bsdapp/eal/eal_memory.c b/lib/librte_eal/bsdapp/eal/eal_memory.c > index 65ee87d..b192705 100644 > --- a/lib/librte_eal/bsdapp/eal/eal_memory.c > +++ b/lib/librte_eal/bsdapp/eal/eal_memory.c > @@ -59,7 +59,7 @@ rte_mem_virt2phy(const void *virtaddr) > return RTE_BAD_PHYS_ADDR; > } > > -static int > +int > rte_eal_contigmem_init(void) > { > struct rte_mem_config *mcfg; > @@ -130,7 +130,7 @@ rte_eal_contigmem_init(void) > return 0; > } > > -static int > +int > rte_eal_contigmem_attach(void) > { > const struct hugepage_info *hpi; > @@ -190,35 +190,3 @@ error: > return -1; > } > > - > -static int > -rte_eal_memdevice_init(void) > -{ > - struct rte_config *config; > - > - if (rte_eal_process_type() == RTE_PROC_SECONDARY) > - return 0; > - > - config = rte_eal_get_configuration(); > - config->mem_config->nchannel = internal_config.force_nchannel; > - config->mem_config->nrank = internal_config.force_nrank; > - > - return 0; > -} > - > -/* init memory subsystem */ > -int > -rte_eal_memory_init(void) > -{ > - RTE_LOG(INFO, EAL, "Setting up physically contiguous memory...\n"); > - const int retval = rte_eal_process_type() == RTE_PROC_PRIMARY ? > - rte_eal_contigmem_init() : > - rte_eal_contigmem_attach(); > - if (retval < 0) > - return -1; > - > - if (internal_config.no_shconf == 0 && rte_eal_memdevice_init() < 0) > - return -1; > - > - return 0; > -} > diff --git a/lib/librte_eal/common/eal_common_memory.c b/lib/librte_eal/common/eal_common_memory.c > index 77830f8..da7aa98 100644 > --- a/lib/librte_eal/common/eal_common_memory.c > +++ b/lib/librte_eal/common/eal_common_memory.c > @@ -46,6 +46,7 @@ > #include > > #include "eal_private.h" > +#include "eal_internal_cfg.h" > > /* > * Return a pointer to a read-only table of struct rte_physmem_desc > @@ -70,7 +71,7 @@ rte_eal_get_physmem_size(void) > /* get pointer to global configuration */ > mcfg = rte_eal_get_configuration()->mem_config; > > - for (i=0; i + for (i = 0; i < RTE_MAX_MEMSEG; i++) { > if (mcfg->memseg[i].addr == NULL) > break; > > @@ -90,7 +91,7 @@ rte_dump_physmem_layout(FILE *f) > /* get pointer to global configuration */ > mcfg = rte_eal_get_configuration()->mem_config; > > - for (i=0; i + for (i = 0; i < RTE_MAX_MEMSEG; i++) { > if (mcfg->memseg[i].addr == NULL) > break; > > @@ -119,3 +120,41 @@ unsigned rte_memory_get_nrank(void) > { > return rte_eal_get_configuration()->mem_config->nrank; > } > + > +static int > +rte_eal_memdevice_init(void) > +{ > + struct rte_config *config; > + > + if (rte_eal_process_type() == RTE_PROC_SECONDARY) > + return 0; > + > + config = rte_eal_get_configuration(); > + config->mem_config->nchannel = internal_config.force_nchannel; > + config->mem_config->nrank = internal_config.force_nrank; > + > + return 0; > +} > + > +/* init memory subsystem */ > +int > +rte_eal_memory_init(void) > +{ > + RTE_LOG(INFO, EAL, "Setting up physically contiguous memory...\n"); > + const int retval = rte_eal_process_type() == RTE_PROC_PRIMARY ? > +#ifdef RTE_EXEC_ENV_BSDAPP > + rte_eal_contigmem_init() : > + rte_eal_contigmem_attach(); > +#else /* RTE_EXEC_ENV_BSDAPP */ > + rte_eal_hugepage_init() : > + rte_eal_hugepage_attach(); > +#endif /* RTE_EXEC_ENV_BSDAPP */ Given that the functions you are calling here are only ever build for the platform they are called from, it seems to me that you can give them a shared name, and just build the appropriate one. I.e. you don't need to add ifdeffery here. Neil > + > + if (retval < 0) > + return -1; > + > + if (internal_config.no_shconf == 0 && rte_eal_memdevice_init() < 0) > + return -1; > + > + return 0; > +} > diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h > index 19af23d..16338a2 100644 > --- a/lib/librte_eal/common/eal_private.h > +++ b/lib/librte_eal/common/eal_private.h > @@ -286,6 +286,20 @@ int get_ncpus(void); > */ > int set_tsc_freq_from_sysctl(void); > > +/** > + * This function prepares physical memory mapping > + * > + * This function is private to the EAL. > + */ > +int rte_eal_contigmem_init(void); > + > +/** > + * This function creates memory mapping in secondary > + * > + * This function is private to the EAL. > + */ > +int rte_eal_contigmem_attach(void); > + > #else /* RTE_EXEC_ENV_BSDAPP */ > /** > * This function check if cpu is present > @@ -301,6 +315,20 @@ int cpu_detected(unsigned lcore_id); > */ > int set_tsc_freq_from_clock(void); > > +/** > + * This function prepares physical memory mapping > + * > + * This function is private to the EAL. > + */ > +int rte_eal_hugepage_init(void); > + > +/** > + * This function creates memory mapping in secondary > + * > + * This function is private to the EAL. > + */ > +int rte_eal_hugepage_attach(void); > + > #endif /* RTE_EXEC_ENV_BSDAPP */ > > #endif /* _EAL_PRIVATE_H_ */ > diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c > index bae2507..f4d91df 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_memory.c > +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c > @@ -1031,7 +1031,7 @@ calc_num_pages_per_socket(uint64_t * memory, > * 6. unmap the first mapping > * 7. fill memsegs in configuration with contiguous zones > */ > -static int > +int > rte_eal_hugepage_init(void) > { > struct rte_mem_config *mcfg; > @@ -1369,7 +1369,7 @@ getFileSize(int fd) > * configuration and finds the hugepages which form that segment, mapping them > * in order to form a contiguous block in the virtual memory space > */ > -static int > +int > rte_eal_hugepage_attach(void) > { > const struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config; > @@ -1530,35 +1530,3 @@ error: > return -1; > } > > -static int > -rte_eal_memdevice_init(void) > -{ > - struct rte_config *config; > - > - if (rte_eal_process_type() == RTE_PROC_SECONDARY) > - return 0; > - > - config = rte_eal_get_configuration(); > - config->mem_config->nchannel = internal_config.force_nchannel; > - config->mem_config->nrank = internal_config.force_nrank; > - > - return 0; > -} > - > - > -/* init memory subsystem */ > -int > -rte_eal_memory_init(void) > -{ > - RTE_LOG(INFO, EAL, "Setting up memory...\n"); > - const int retval = rte_eal_process_type() == RTE_PROC_PRIMARY ? > - rte_eal_hugepage_init() : > - rte_eal_hugepage_attach(); > - if (retval < 0) > - return -1; > - > - if (internal_config.no_shconf == 0 && rte_eal_memdevice_init() < 0) > - return -1; > - > - return 0; > -} > -- > 1.9.1 > >