On Thu, Dec 20, 2018 at 3:36 PM Gavin Hu (Arm Technology China) < gavin...@arm.com> wrote:
> >> On Thu, Dec 20, 2018 at 11:44 AM Gavin Hu <mailto:gavin...@arm.com> > wrote: > >> remove the hard code #ifdef RTE_FORCE_INTRINSICS, move the > implementation > >> to the arm specific file, x86 and POWER have their own implementations. > > > No, x86 and ppc define their own implementation when _not_ having > RTE_FORCE_INTRINSICS. > > David Marchand > > Hi David, > > Your reply is out of format, I re-format it to text based. > I suppose this is an issue with your mail client. > Yes, x86 and ppc define their own implementation, so this change is arm > specific. > Only arm have RTE_FORCE_INTRINSICS, x86 and ppc don't define it in the > config files. > This change breaks the use of intrinsics in x86 case at least. $ git reset --hard origin/master HEAD is now at 476c847 malloc: add option --match-allocations $ git am ~/Downloads/v1-4-5-spinlock-move-the-implementation-to-arm-specific-file.patch Applying: spinlock: move the implementation to arm specific file # default config $ rm -rf master; make defconfig O=master && make -j4 O=master [...] Build complete [x86_64-native-linuxapp-gcc] # then enable use of intrinsics $ echo CONFIG_RTE_FORCE_INTRINSICS=y >> master/.config && make O=master [...] CC eal.o In file included from /home/dmarchan/git/pub/dpdk/master/include/rte_spinlock.h:12:0, from /home/dmarchan/git/pub/dpdk/master/include/rte_malloc_heap.h:10, from /home/dmarchan/git/pub/dpdk/master/include/rte_eal_memconfig.h:12, from /home/dmarchan/git/pub/dpdk/lib/librte_eal/linuxapp/eal/eal.c:35: /home/dmarchan/git/pub/dpdk/master/include/generic/rte_spinlock.h:58:1: error: ‘rte_spinlock_lock’ used but never defined [-Werror] rte_spinlock_lock(rte_spinlock_t *sl); ^ /home/dmarchan/git/pub/dpdk/master/include/generic/rte_spinlock.h:67:1: error: ‘rte_spinlock_unlock’ used but never defined [-Werror] rte_spinlock_unlock (rte_spinlock_t *sl); ^ /home/dmarchan/git/pub/dpdk/master/include/generic/rte_spinlock.h:78:1: error: ‘rte_spinlock_trylock’ used but never defined [-Werror] rte_spinlock_trylock (rte_spinlock_t *sl); ^ cc1: all warnings being treated as errors make[5]: *** [eal.o] Error 1 make[4]: *** [eal] Error 2 -- David Marchand