Hi, On 02/02/2015 03:02 AM, Cunming Liang wrote: > For those none EAL thread, *_lcore_id* shall always be LCORE_ID_ANY. > The libraries using *_lcore_id* as index need to take care. > *_socket_id* always be SOCKET_ID_ANY unitl the thread changes the affinity
unitl -> until > by rte_thread_set_affinity() > > Signed-off-by: Cunming Liang <cunming.liang at intel.com> > --- > lib/librte_eal/bsdapp/eal/eal_thread.c | 4 ++-- > lib/librte_eal/linuxapp/eal/eal_thread.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/lib/librte_eal/bsdapp/eal/eal_thread.c > b/lib/librte_eal/bsdapp/eal/eal_thread.c > index 5b16302..2b3c9a8 100644 > --- a/lib/librte_eal/bsdapp/eal/eal_thread.c > +++ b/lib/librte_eal/bsdapp/eal/eal_thread.c > @@ -56,8 +56,8 @@ > #include "eal_private.h" > #include "eal_thread.h" > > -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); > -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); > +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; > +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; > RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); > > /* > diff --git a/lib/librte_eal/linuxapp/eal/eal_thread.c > b/lib/librte_eal/linuxapp/eal/eal_thread.c > index 6eb1525..ab94e20 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_thread.c > +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c > @@ -57,8 +57,8 @@ > #include "eal_private.h" > #include "eal_thread.h" > > -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); > -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); > +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; > +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; > RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); As far as I understand, now a rte_lcore_id() can return LCORE_ID_ANY. This should be modified in the rte_lcore_id() API comments. Same for rte_socket_id(). I also wonder if the API of these functions should be modified to return an int instead of an unsigned as LCORE_ID_ANY is -1. Regards, Olivier