From a4d31373e5a0f72d028ff73ca9eae0fd6671f350 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Tue, 15 May 2018 00:26:21 +0300 Subject: linux-gen: thread: remove separate API inlining header Signed-off-by: Dmitry Eremin-Solenikov Reviewed-by: Bill Fischofer Signed-off-by: Maxim Uvarov --- platform/linux-generic/Makefile.am | 1 - .../linux-generic/include-abi/odp/api/abi/thread.h | 2 -- .../include/odp/api/plat/thread_inlines.h | 16 +++++++-- .../include/odp/api/plat/thread_inlines_api.h | 41 ---------------------- platform/linux-generic/odp_rwlock_recursive.c | 10 +++--- platform/linux-generic/odp_spinlock_recursive.c | 6 ++-- platform/linux-generic/odp_thread_api.c | 5 ++- 7 files changed, 23 insertions(+), 58 deletions(-) delete mode 100644 platform/linux-generic/include/odp/api/plat/thread_inlines_api.h diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 373a1b104..033f38a53 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -37,7 +37,6 @@ odpapiplatinclude_HEADERS = \ include/odp/api/plat/strong_types.h \ include/odp/api/plat/sync_inlines.h \ include/odp/api/plat/thread_inlines.h \ - include/odp/api/plat/thread_inlines_api.h \ include/odp/api/plat/ticketlock_inlines.h odpapiabiarchincludedir = $(archincludedir)/odp/api/abi diff --git a/platform/linux-generic/include-abi/odp/api/abi/thread.h b/platform/linux-generic/include-abi/odp/api/abi/thread.h index 8cd36bdac..d5628a740 100644 --- a/platform/linux-generic/include-abi/odp/api/abi/thread.h +++ b/platform/linux-generic/include-abi/odp/api/abi/thread.h @@ -6,6 +6,4 @@ #include -#define _ODP_INLINE static inline #include -#include diff --git a/platform/linux-generic/include/odp/api/plat/thread_inlines.h b/platform/linux-generic/include/odp/api/plat/thread_inlines.h index deecc6533..ecab29e54 100644 --- a/platform/linux-generic/include/odp/api/plat/thread_inlines.h +++ b/platform/linux-generic/include/odp/api/plat/thread_inlines.h @@ -22,17 +22,27 @@ typedef struct { extern __thread _odp_thread_state_t *_odp_this_thread; -static inline int _odp_thread_id(void) +#ifndef _ODP_NO_INLINE + /* Inline functions by default */ + #define _ODP_INLINE static inline + #define odp_thread_id __odp_thread_id + #define odp_thread_type __odp_thread_type + #define odp_cpu_id __odp_cpu_id +#else + #define _ODP_INLINE +#endif + +_ODP_INLINE int odp_thread_id(void) { return _odp_this_thread->thr; } -static inline odp_thread_type_t _odp_thread_type(void) +_ODP_INLINE odp_thread_type_t odp_thread_type(void) { return _odp_this_thread->type; } -static inline int _odp_cpu_id(void) +_ODP_INLINE int odp_cpu_id(void) { return _odp_this_thread->cpu; } diff --git a/platform/linux-generic/include/odp/api/plat/thread_inlines_api.h b/platform/linux-generic/include/odp/api/plat/thread_inlines_api.h deleted file mode 100644 index 08193e2b7..000000000 --- a/platform/linux-generic/include/odp/api/plat/thread_inlines_api.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (c) 2018-2018, Linaro Limited - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -/** - * @file - */ - -#ifndef ODP_PLAT_THREAD_INLINES_API_H_ -#define ODP_PLAT_THREAD_INLINES_API_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -_ODP_INLINE int odp_thread_id(void) -{ - return _odp_thread_id(); -} - -_ODP_INLINE odp_thread_type_t odp_thread_type(void) -{ - return _odp_thread_type(); -} - -_ODP_INLINE int odp_cpu_id(void) -{ - return _odp_cpu_id(); -} - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/platform/linux-generic/odp_rwlock_recursive.c b/platform/linux-generic/odp_rwlock_recursive.c index 397a054b7..dac9ad196 100644 --- a/platform/linux-generic/odp_rwlock_recursive.c +++ b/platform/linux-generic/odp_rwlock_recursive.c @@ -23,7 +23,7 @@ void odp_rwlock_recursive_init(odp_rwlock_recursive_t *rlock) /* Multiple readers can recurse the lock concurrently */ void odp_rwlock_recursive_read_lock(odp_rwlock_recursive_t *rlock) { - int thr = _odp_thread_id(); + int thr = odp_thread_id(); if (rlock->rd_cnt[thr]) { rlock->rd_cnt[thr]++; @@ -37,7 +37,7 @@ void odp_rwlock_recursive_read_lock(odp_rwlock_recursive_t *rlock) /* Multiple readers can recurse the lock concurrently */ int odp_rwlock_recursive_read_trylock(odp_rwlock_recursive_t *rlock) { - int thr = _odp_thread_id(); + int thr = odp_thread_id(); if (rlock->rd_cnt[thr]) { rlock->rd_cnt[thr]++; @@ -54,7 +54,7 @@ int odp_rwlock_recursive_read_trylock(odp_rwlock_recursive_t *rlock) void odp_rwlock_recursive_read_unlock(odp_rwlock_recursive_t *rlock) { - int thr = _odp_thread_id(); + int thr = odp_thread_id(); rlock->rd_cnt[thr]--; @@ -67,7 +67,7 @@ void odp_rwlock_recursive_read_unlock(odp_rwlock_recursive_t *rlock) /* Only one writer can recurse the lock */ void odp_rwlock_recursive_write_lock(odp_rwlock_recursive_t *rlock) { - int thr = _odp_thread_id(); + int thr = odp_thread_id(); if (rlock->wr_owner == thr) { rlock->wr_cnt++; @@ -82,7 +82,7 @@ void odp_rwlock_recursive_write_lock(odp_rwlock_recursive_t *rlock) /* Only one writer can recurse the lock */ int odp_rwlock_recursive_write_trylock(odp_rwlock_recursive_t *rlock) { - int thr = _odp_thread_id(); + int thr = odp_thread_id(); if (rlock->wr_owner == thr) { rlock->wr_cnt++; diff --git a/platform/linux-generic/odp_spinlock_recursive.c b/platform/linux-generic/odp_spinlock_recursive.c index d52889698..593742685 100644 --- a/platform/linux-generic/odp_spinlock_recursive.c +++ b/platform/linux-generic/odp_spinlock_recursive.c @@ -21,7 +21,7 @@ void odp_spinlock_recursive_init(odp_spinlock_recursive_t *rlock) void odp_spinlock_recursive_lock(odp_spinlock_recursive_t *rlock) { - int thr = _odp_thread_id(); + int thr = odp_thread_id(); if (rlock->owner == thr) { rlock->cnt++; @@ -35,7 +35,7 @@ void odp_spinlock_recursive_lock(odp_spinlock_recursive_t *rlock) int odp_spinlock_recursive_trylock(odp_spinlock_recursive_t *rlock) { - int thr = _odp_thread_id(); + int thr = odp_thread_id(); if (rlock->owner == thr) { rlock->cnt++; @@ -64,7 +64,7 @@ void odp_spinlock_recursive_unlock(odp_spinlock_recursive_t *rlock) int odp_spinlock_recursive_is_locked(odp_spinlock_recursive_t *rlock) { - int thr = _odp_thread_id(); + int thr = odp_thread_id(); if (rlock->owner == thr) return 1; diff --git a/platform/linux-generic/odp_thread_api.c b/platform/linux-generic/odp_thread_api.c index 7f07f6a30..cfce705dd 100644 --- a/platform/linux-generic/odp_thread_api.c +++ b/platform/linux-generic/odp_thread_api.c @@ -8,8 +8,7 @@ #include #include -#include /* Include non-inlined versions of API functions */ -#define _ODP_INLINE -#include +#define _ODP_NO_INLINE +#include -- cgit v1.2.3