On Wed, Feb 5, 2020 at 11:24 AM <[email protected]> wrote: > > From: Jerin Jacob <[email protected]> > > _cpuset TLS variable stores the CPU affinity of eal thread. > Populate the _cpuset TLS variable for control thread to > > 1) Make rte_thread_get_affinity() and eal_thread_dump_affinity > functional with control thread. > 2) Quick access to cpu affinity. > > Signed-off-by: Jerin Jacob <[email protected]> > --- > lib/librte_eal/common/eal_common_thread.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/lib/librte_eal/common/eal_common_thread.c > b/lib/librte_eal/common/eal_common_thread.c > index 78581753c..99fe1aa4e 100644 > --- a/lib/librte_eal/common/eal_common_thread.c > +++ b/lib/librte_eal/common/eal_common_thread.c > @@ -152,10 +152,14 @@ struct rte_thread_ctrl_params { > static void *rte_thread_init(void *arg) > { > int ret; > + rte_cpuset_t *cpuset = &internal_config.ctrl_cpuset; > struct rte_thread_ctrl_params *params = arg; > void *(*start_routine)(void *) = params->start_routine; > void *routine_arg = params->arg; > > + /* Store cpuset in TLS for quick access */ > + memmove(&RTE_PER_LCORE(_cpuset), cpuset, sizeof(rte_cpuset_t)); > + > ret = pthread_barrier_wait(¶ms->configured); > if (ret == PTHREAD_BARRIER_SERIAL_THREAD) { > pthread_barrier_destroy(¶ms->configured);
Reviewed-by: David Marchand <[email protected]> -- David Marchand

