diff options
Diffstat (limited to 'lib/netdev-odp.c')
-rw-r--r-- | lib/netdev-odp.c | 20 |
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; +} + |