[dpdk-dev,v3,2/4] eal: fix parsing of eal option --lcores

Message ID 1469618621-143677-1-git-send-email-wei.dai@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Wei Dai July 27, 2016, 11:23 a.m. UTC
  The '-' in lcore set overrides cpu set of following
lcore set in the argument of EAL option --lcores.
for example --locres '0-2,(3-5)@(3,4),6@(5,6),7@(5-7)',
0-2 make lflags=1 which indeed suppress following
cpu set (3,4), (5,6) and (5-7) after @ .

Fixes: 53e54bf81700 ("eal: new option --lcores for cpu assignment")

Signed-off-by: Wei Dai <wei.dai@intel.com>
---
 lib/librte_eal/common/eal_common_options.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Ferruh Yigit July 28, 2016, 3:18 p.m. UTC | #1
On 7/27/2016 12:23 PM, Wei Dai wrote:
> The '-' in lcore set overrides cpu set of following
> lcore set in the argument of EAL option --lcores.
> for example --locres '0-2,(3-5)@(3,4),6@(5,6),7@(5-7)',
> 0-2 make lflags=1 which indeed suppress following
> cpu set (3,4), (5,6) and (5-7) after @ .
> 
> Fixes: 53e54bf81700 ("eal: new option --lcores for cpu assignment")
> 
> Signed-off-by: Wei Dai <wei.dai@intel.com>

Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
  

Patch

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index c5bf98c..217d08b 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -583,7 +583,7 @@  eal_parse_lcores(const char *lcores)
 	const char *end = NULL;
 	int offset;
 	rte_cpuset_t cpuset;
-	int lflags = 0;
+	int lflags;
 	int ret = -1;
 
 	if (lcores == NULL)
@@ -609,6 +609,8 @@  eal_parse_lcores(const char *lcores)
 		if (*lcores == '\0')
 			goto err;
 
+		lflags = 0;
+
 		/* record lcore_set start point */
 		lcore_start = lcores;