If OVS is started with a cpu affinity which starts at a core >= 128,
EAL won't be able to run since the -l option is limited to RTE_MAX_LCORES
(which defaults to 128 on x86_64).

Instead map the first discovered cpu to lcore 0.

Reported-at: https://issues.redhat.com/browse/FDP-1312
Fixes: 88964e6428dc ("netdev-dpdk: Autofill lcore coremask if absent")
Signed-off-by: David Marchand <david.march...@redhat.com>
---
 lib/dpdk.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/dpdk.c b/lib/dpdk.c
index 2d22e2b8dd..1f4f2bf083 100644
--- a/lib/dpdk.c
+++ b/lib/dpdk.c
@@ -364,8 +364,8 @@ dpdk_init__(const struct smap *ovs_other_config)
              * thread affintity - default to core #0 */
             VLOG_ERR("Thread getaffinity failed. Using core #0");
         }
-        svec_add(&args, "-l");
-        svec_add_nocopy(&args, xasprintf("%d", cpu));
+        svec_add(&args, "--lcores");
+        svec_add_nocopy(&args, xasprintf("0@%d", cpu));
     }
 
     svec_terminate(&args);
-- 
2.49.0

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to