All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
To: Ravi Kerur <rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [PATCH 7/7] Move EAL common functions
Date: Thu, 25 Dec 2014 12:46:49 -0500	[thread overview]
Message-ID: <20141225174649.GG3199@localhost.localdomain> (raw)
In-Reply-To: <1419521597-31978-8-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

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 <rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
>  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 <rte_log.h>
>  
>  #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<RTE_MAX_MEMSEG; 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<RTE_MAX_MEMSEG; 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
> 
> 

  parent reply	other threads:[~2014-12-25 17:46 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-25 15:33 [PATCH 0/7] Move EAL common functions Ravi Kerur
     [not found] ` <1419521597-31978-1-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-25 15:33   ` [PATCH 1/7] Fix rte_is_power_of_2 Ravi Kerur
     [not found]     ` <1419521597-31978-2-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-25 17:21       ` Neil Horman
     [not found]         ` <20141225172144.GC3199-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-25 18:54           ` Ravi Kerur
2014-12-25 15:33   ` [PATCH 2/7] Move EAL common functions Ravi Kerur
     [not found]     ` <1419521597-31978-3-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-25 17:30       ` Neil Horman
     [not found]         ` <20141225173041.GD3199-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-25 19:23           ` Ravi Kerur
     [not found]             ` <CAFb4SLB3TQ6odVJkm85Vt7oQ=ZHW23RtyQo_8t+HpjhSVrFHeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-26 14:40               ` Neil Horman
     [not found]                 ` <20141226144000.GC5567-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-26 15:28                   ` Ravi Kerur
     [not found]                     ` <CAFb4SLCioyA2BXy4bHOeEh=ssjz0xb=FEV+JZ4fBp4PDz6ufrw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-05  9:40                       ` Thomas Monjalon
2014-12-25 15:33   ` [PATCH 3/7] " Ravi Kerur
     [not found]     ` <1419521597-31978-4-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-25 17:41       ` Neil Horman
     [not found]         ` <20141225174146.GE3199-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-25 19:13           ` Ravi Kerur
     [not found]             ` <CAFb4SLCP_bN=hDC-8H0BN+VnSr51ozfz2=jH3aU_Pe=b9t2v2Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-26 14:40               ` Neil Horman
2014-12-25 15:33   ` [PATCH 4/7] " Ravi Kerur
     [not found]     ` <1419521597-31978-5-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-25 17:44       ` Neil Horman
     [not found]         ` <20141225174418.GF3199-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-25 19:17           ` Ravi Kerur
     [not found]             ` <CAFb4SLAkQde6=ShBqKT-p6QGQZHkYFgHC4Q0af+g5CfwJJrQ4w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-26 14:42               ` Neil Horman
     [not found]                 ` <20141226144221.GE5567-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-26 15:30                   ` Ravi Kerur
2015-01-05 15:59       ` Thomas Monjalon
2015-01-05 16:21         ` Ravi Kerur
2015-01-05 18:56         ` Ravi Kerur
     [not found]           ` <CAFb4SLAr=_28qSe9ss7G2iS=fcKi00TmyGR1vQiSBWDek1A3Og-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-05 20:38             ` Thomas Monjalon
2015-01-06 17:35               ` Ravi Kerur
2014-12-25 15:33   ` [PATCH 5/7] " Ravi Kerur
     [not found]     ` <1419521597-31978-6-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-05 15:32       ` Thomas Monjalon
2014-12-25 15:33   ` [PATCH 6/7] " Ravi Kerur
     [not found]     ` <1419521597-31978-7-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-05 15:49       ` Thomas Monjalon
2014-12-25 15:33   ` [PATCH 7/7] " Ravi Kerur
     [not found]     ` <1419521597-31978-8-git-send-email-rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-25 17:46       ` Neil Horman [this message]
     [not found]         ` <20141225174649.GG3199-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-25 19:22           ` Ravi Kerur
     [not found]             ` <CAFb4SLCVHWoihgBY7POThqvT4dbMsLbWebTseftV7OcfjHKprQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-26 14:44               ` Neil Horman
     [not found]                 ` <20141226144428.GF5567-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-26 15:28                   ` Ravi Kerur
2014-12-29  8:47   ` [PATCH 0/7] " Olivier MATZ
     [not found]     ` <54A11509.5050904-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-12-29 12:47       ` Neil Horman
     [not found]         ` <20141229124723.GA27775-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-12-29 13:16           ` Olivier MATZ
     [not found]             ` <54A15420.2010401-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-12-29 16:17               ` Neil Horman
2014-12-29 18:43               ` Ravi Kerur
     [not found]                 ` <CAFb4SLA2G-_=9KRefBO9nV-PJDFr6bvz8-JUEH-8F+MAuEXn3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-04 23:10                   ` Ravi Kerur
     [not found]                     ` <CAFb4SLA28vy1BHs0O7NMAPEFyEHG_aRxEkpv0EiLeLAD53zQmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-05 12:24                       ` Bruce Richardson
2015-01-09  9:50                         ` Olivier MATZ

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141225174649.GG3199@localhost.localdomain \
    --to=nhorman-2xusbdqka4r54taoqtywwq@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.