[dpdk-dev] [PATCH 1/1] ip_pipeline: fixed parsing cpu cores

Dumitrescu, Cristian cristian.dumitrescu at intel.com
Tue Jul 21 17:35:35 CEST 2015



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Maciej Gajdzica
> Sent: Tuesday, July 21, 2015 3:39 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH 1/1] ip_pipeline: fixed parsing cpu cores
> 
> This patch fixes parsing value of core variable in pipeline config.
> Before not every combination of cores (c), sockets (s) and
> hyperthreading (h) was parsed correctly.
> 
> Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica at intel.com>
> ---
>  examples/ip_pipeline/config_parse.c |   12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/examples/ip_pipeline/config_parse.c
> b/examples/ip_pipeline/config_parse.c
> index 361bf8a..c9b78f9 100644
> --- a/examples/ip_pipeline/config_parse.c
> +++ b/examples/ip_pipeline/config_parse.c
> @@ -386,14 +386,14 @@ parse_pipeline_core(uint32_t *socket,
>  		switch (type) {
>  		case 's':
>  		case 'S':
> -			if (s_parsed)
> +			if (s_parsed || c_parsed || h_parsed)
>  				return -EINVAL;
>  			s_parsed = 1;
>  			next++;
>  			break;
>  		case 'c':
>  		case 'C':
> -			if (c_parsed)
> +			if (c_parsed || h_parsed)
>  				return -EINVAL;
>  			c_parsed = 1;
>  			next++;
> @@ -423,7 +423,10 @@ parse_pipeline_core(uint32_t *socket,
>  			num[num_len] = *next;
>  		}
> 
> -		if (num_len == 0 && type != 'h')
> +		if (num_len == 0 && type != 'h' && type != 'H')
> +			return -EINVAL;
> +
> +		if (num_len != 0 && (type == 'h' || type == 'H'))
>  			return -EINVAL;
> 
>  		num[num_len] = '\0';
> @@ -438,9 +441,6 @@ parse_pipeline_core(uint32_t *socket,
>  		case 'c':
>  		case 'C':
>  			c = val;
> -			if (type == 'C' && *next != '\0')
> -				return -EINVAL;
> -
>  			break;
>  		case 'h':
>  		case 'H':
> --
> 1.7.9.5

Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>



More information about the dev mailing list