aboutsummaryrefslogtreecommitdiff
path: root/lib/netdev-odp.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/netdev-odp.c')
-rw-r--r--lib/netdev-odp.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/netdev-odp.c b/lib/netdev-odp.c
index c78940484..c33788e5c 100644
--- a/lib/netdev-odp.c
+++ b/lib/netdev-odp.c
@@ -679,3 +679,23 @@ netdev_odp_register(void)
ovsthread_once_done(&once);
}
}
+
+int
+pmd_thread_setaffinity_cpu(int cpu)
+{
+ cpu_set_t cpuset;
+ int err;
+
+ CPU_ZERO(&cpuset);
+ CPU_SET(cpu, &cpuset);
+ err = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
+ if (err) {
+ VLOG_ERR("Thread affinity error %d",err);
+ return err;
+ }
+ /* lcore_id 0 is reseved for use by non pmd threads. */
+ ovs_assert(cpu);
+
+ return 0;
+}
+