ipn3ke driver creates a thread to check link status.

before this patch, pthread_create() is used to create
thread, leaving the new thread unrestrained wrt cpu
affinity.

After this patch, rte_ctrl_thread_create() is used to
create thread. The affinity of the new thread is based
on the CPU affinity retrieved at the time rte_eal_init()
was called, the dataplane and service lcores are then
excluded.

Fixes: 70d6b7f550f4 ("net/ipn3ke: add representor")
Cc: rosen...@intel.com
Cc: sta...@dpdk.org

Signed-off-by: Andy Pei <andy....@intel.com>
---
Cc: david.march...@redhat.com
Cc: xiaolong...@intel.com
Cc: ferruh.yi...@intel.com

diff --git a/drivers/net/ipn3ke/ipn3ke_representor.c 
b/drivers/net/ipn3ke/ipn3ke_representor.c
index 80122e3..b673c49 100644
--- a/drivers/net/ipn3ke/ipn3ke_representor.c
+++ b/drivers/net/ipn3ke/ipn3ke_representor.c
@@ -2598,7 +2598,8 @@ struct rte_eth_xstat_name *xstats_names,
        int ret;
 
        if (ipn3ke_rpst_scan_num == 1) {
-               ret = pthread_create(&ipn3ke_rpst_scan_thread,
+               ret = rte_ctrl_thread_create(&ipn3ke_rpst_scan_thread,
+                       "ipn3ke scanner",
                        NULL,
                        ipn3ke_rpst_scan_handle_request, NULL);
                if (ret) {
-- 
1.8.3.1

Reply via email to