From: Tyler Retzlaff Date: Thu, 14 Apr 2022 12:43:43 +0000 (-0700) Subject: eal/windows: set main lcore affinity X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=8001c0ddfe789cd6e0fe6260b2e07a21ec364ea4;p=dpdk.git eal/windows: set main lcore affinity Add missing code to affinitize main_lcore from lcore configuration. Signed-off-by: Tyler Retzlaff Reviewed-by: David Marchand --- diff --git a/lib/eal/windows/eal.c b/lib/eal/windows/eal.c index 1874f9f6d7..122de2a319 100644 --- a/lib/eal/windows/eal.c +++ b/lib/eal/windows/eal.c @@ -279,6 +279,7 @@ rte_eal_init(int argc, char **argv) bool has_phys_addr; enum rte_iova_mode iova_mode; int ret; + char cpuset[RTE_CPU_AFFINITY_STR_LEN]; eal_log_init(NULL, 0); @@ -401,9 +402,20 @@ rte_eal_init(int argc, char **argv) return -1; } + if (pthread_setaffinity_np(pthread_self(), sizeof(rte_cpuset_t), + &lcore_config[config->main_lcore].cpuset) != 0) { + rte_eal_init_alert("Cannot set affinity"); + rte_errno = EINVAL; + return -1; + } __rte_thread_init(config->main_lcore, &lcore_config[config->main_lcore].cpuset); + ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset)); + RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%zx;cpuset=[%s%s])\n", + config->main_lcore, (uintptr_t)pthread_self(), cpuset, + ret == 0 ? "" : "..."); + RTE_LCORE_FOREACH_WORKER(i) { /*