From: Pallavi Kadam Date: Fri, 21 Jan 2022 00:17:49 +0000 (-0800) Subject: eal/windows: set worker thread affinity at init X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=416c1bef9dbc9aed437f87e735500589d2e3d844;p=dpdk.git eal/windows: set worker thread affinity at init Sometimes OS tries to switch the core. So, bind the lcore thread to a fixed core. Implement affinity call on Windows similar to Linux. Signed-off-by: Qiao Liu Signed-off-by: Pallavi Kadam Acked-by: Narcisa Vasile Acked-by: Ranjit Menon Acked-by: Tal Shnaiderman Tested-by: Idan Hackmon --- diff --git a/lib/eal/windows/eal.c b/lib/eal/windows/eal.c index 67db7f099a..ca3c41aaa7 100644 --- a/lib/eal/windows/eal.c +++ b/lib/eal/windows/eal.c @@ -422,6 +422,10 @@ rte_eal_init(int argc, char **argv) /* create a thread for each lcore */ if (eal_thread_create(&lcore_config[i].thread_id) != 0) rte_panic("Cannot create thread\n"); + ret = pthread_setaffinity_np(lcore_config[i].thread_id, + sizeof(rte_cpuset_t), &lcore_config[i].cpuset); + if (ret != 0) + RTE_LOG(DEBUG, EAL, "Cannot set affinity\n"); } /* Initialize services so drivers can register services during probe. */