[dpdk-dev] [PATCH] eal: warn on --no-huge allocation requirement

Burakov, Anatoly anatoly.burakov at intel.com
Thu Jul 18 12:18:20 CEST 2019


On 18-Jul-19 10:34 AM, Thomas Monjalon wrote:
> When using --no-huge mode, dynamic allocation is not supported.
> Because of this limitation, the option --legacy-mem is implied
> and -m may be needed to specify the amount of memory to allocate.
> Otherwise the default amount MEMSIZE_IF_NO_HUGE_PAGE will be allocated.
> 
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
>   lib/librte_eal/common/eal_common_options.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
> index 512d5088e..4a76929ea 100644
> --- a/lib/librte_eal/common/eal_common_options.c
> +++ b/lib/librte_eal/common/eal_common_options.c
> @@ -1551,6 +1551,10 @@ eal_check_common_options(struct internal_config *internal_cfg)
>   			"be specified at the same time\n");
>   		return -1;
>   	}
> +	if (internal_cfg->no_hugetlbfs && internal_cfg->memory == 0) {
> +		RTE_LOG(NOTICE, EAL, "Option --"OPT_NO_HUGE" uses legacy mode, "
> +			"option -m would override default memory allocation\n");

I think this is too technical and misleading. I don't think user cares 
about legacy vs dynamic mode here. I would rather print out something 
more informative, like, say, something along those lines:

"Option --no-huge was specified in command-line arguments. This mode 
uses static memory layout and will allocate %dMB of memory by default. 
Option '-m' can be used to increase allocated memory amount."

where %d is the amount of memory we're preallocating.

> +	}
>   	if (internal_cfg->no_hugetlbfs && internal_cfg->force_sockets == 1) {
>   		RTE_LOG(ERR, EAL, "Option --"OPT_SOCKET_MEM" cannot "
>   			"be specified together with --"OPT_NO_HUGE"\n");
> 


-- 
Thanks,
Anatoly


More information about the dev mailing list