On Fri, Apr 24, 2015 at 8:22 AM, Neil Horman <nhorman at tuxdriver.com> wrote:
> On Fri, Apr 24, 2015 at 08:14:04AM -0700, Ravi Kerur wrote: > > On Fri, Apr 24, 2015 at 6:51 AM, Neil Horman <nhorman at tuxdriver.com> > wrote: > > > > > On Thu, Apr 23, 2015 at 02:35:31PM -0700, Ravi Kerur wrote: > > > > Changes in v7 > > > > Remove _setname_ pthread calls. > > > > Use rte_gettid() API in RTE_LOG to print thread_id. > > > > > > > > Changes in v6 > > > > Remove RTE_EXEC_ENV_BSDAPP from eal_common_thread.c file. > > > > Add pthread_setname_np/pthread_set_name_np for Linux/FreeBSD > > > > respectively. Plan to use _getname_ in RTE_LOG when available. > > > > Use existing rte_get_systid() in RTE_LOG to print thread_id. > > > > > > > > Changes in v5 > > > > Rebase to latest code. > > > > > > > > Changes in v4 > > > > None > > > > > > > > Changes in v3 > > > > Changed subject to be more explicit on file name inclusion. > > > > > > > > Changes in v2 > > > > None > > > > > > > > Changes in v1 > > > > eal_thread.c has minor differences between Linux and BSD, move > > > > entire file into common directory. > > > > Use RTE_EXEC_ENV_BSDAPP to differentiate on minor differences. > > > > Rename eal_thread.c to eal_common_thread.c > > > > Makefile changes to reflect file move and name change. > > > > Fix checkpatch warnings. > > > > > > > > Signed-off-by: Ravi Kerur <rkerur at gmail.com> > > > > --- > > > > lib/librte_eal/bsdapp/eal/Makefile | 2 +- > > > > lib/librte_eal/bsdapp/eal/eal_thread.c | 152 > > > ------------------------------ > > > > lib/librte_eal/common/eal_common_thread.c | 147 > > > ++++++++++++++++++++++++++++- > > > > lib/librte_eal/linuxapp/eal/eal_thread.c | 152 > > > +----------------------------- > > > > 4 files changed, 148 insertions(+), 305 deletions(-) > > > > > > > > diff --git a/lib/librte_eal/bsdapp/eal/Makefile > > > b/lib/librte_eal/bsdapp/eal/Makefile > > > > index 2357cfa..55971b9 100644 > > > > --- a/lib/librte_eal/bsdapp/eal/Makefile > > > > +++ b/lib/librte_eal/bsdapp/eal/Makefile > > > > @@ -87,7 +87,7 @@ CFLAGS_eal_common_log.o := -D_GNU_SOURCE > > > > # workaround for a gcc bug with noreturn attribute > > > > # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 > > > > ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) > > > > -CFLAGS_eal_thread.o += -Wno-return-type > > > > +CFLAGS_eal_common_thread.o += -Wno-return-type > > > > CFLAGS_eal_hpet.o += -Wno-return-type > > > > endif > > > > > > > > diff --git a/lib/librte_eal/bsdapp/eal/eal_thread.c > > > b/lib/librte_eal/bsdapp/eal/eal_thread.c > > > > index 9a03437..5714b8f 100644 > > > > --- a/lib/librte_eal/bsdapp/eal/eal_thread.c > > > > +++ b/lib/librte_eal/bsdapp/eal/eal_thread.c > > > > @@ -35,163 +35,11 @@ > > > > #include <stdio.h> > > > > #include <stdlib.h> > > > > #include <stdint.h> > > > > -#include <unistd.h> > > > > -#include <sched.h> > > > > -#include <pthread_np.h> > > > > -#include <sys/queue.h> > > > > #include <sys/thr.h> > > > > > > > > -#include <rte_debug.h> > > > > -#include <rte_atomic.h> > > > > -#include <rte_launch.h> > > > > -#include <rte_log.h> > > > > -#include <rte_memory.h> > > > > -#include <rte_memzone.h> > > > > -#include <rte_per_lcore.h> > > > > -#include <rte_eal.h> > > > > -#include <rte_per_lcore.h> > > > > -#include <rte_lcore.h> > > > > - > > > > #include "eal_private.h" > > > > #include "eal_thread.h" > > > > > > > > -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = LCORE_ID_ANY; > > > NAK, these are exported symbols, you can't remove them without going > > > through the > > > deprecation process. > > > > > > > > They are not removed/deleted, they are moved from eal_thread.c to > > eal_common_thread.c file since it is common to both Linux and BSD. > > > Then perhaps you forgot to export the symbol? Its showing up as removed > on the > ABI checker utility. > > Neil > Can you please show me in the current code where it is being exported? I have only moved definitions to _common_ files, not sure why it should be exported now. I searched in the current code for RTE_DEFINE_PER_LCORE #home/rkerur/dpdk-tmp/dpdk# grep -ir RTE_DEFINE_PER_LCORE * app/test/test_per_lcore.c:static RTE_DEFINE_PER_LCORE(unsigned, test) = 0x12345678; lib/librte_eal/linuxapp/eal/eal_thread.c:RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = LCORE_ID_ANY; lib/librte_eal/linuxapp/eal/eal_thread.c:RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; lib/librte_eal/linuxapp/eal/eal_thread.c:RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); lib/librte_eal/bsdapp/eal/eal_thread.c:RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = LCORE_ID_ANY; lib/librte_eal/bsdapp/eal/eal_thread.c:RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; lib/librte_eal/bsdapp/eal/eal_thread.c:RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); lib/librte_eal/common/include/rte_per_lcore.h:#define RTE_DEFINE_PER_LCORE(type, name) \ lib/librte_eal/common/include/rte_eal.h: static RTE_DEFINE_PER_LCORE(int, _thread_id) = -1; lib/librte_eal/common/eal_common_errno.c:RTE_DEFINE_PER_LCORE(int, _rte_errno); lib/librte_eal/common/eal_common_errno.c: static RTE_DEFINE_PER_LCORE(char[RETVAL_SZ], retval); > > Thanks > > Ravi > > > > Regards > > > Neil > > > > > > >