This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, master has been updated via 2315e146e19c937ff407f0a5aa0be1f8de655abf (commit) via 46064619d9bd9d2733089dcff044a9a86277dbdd (commit) via ec41adeed9884621f242c8153612a3f2eaa5bcee (commit) via 758fdf094deae51597b5e9f5f70584c3dba92ff1 (commit) via c5b855df5b9e4388efd387810959b0f81f072fc9 (commit) via 7299adcc939a3d55b2c694744037ea9ea1dd7835 (commit) via 455230a4331e25a1bb68e6fe1c0058bd790c9d9b (commit) via a4d31373e5a0f72d028ff73ca9eae0fd6671f350 (commit) from 37390a88fd35d972a8e399fc934c612c1043ad77 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 2315e146e19c937ff407f0a5aa0be1f8de655abf Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Tue May 15 10:58:31 2018 +0300
linux-gen: use inlined sync functions everywhere
Make linux-gen platform code use inlined sync functions instead of doing proper functions calls.
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/odp_barrier.c b/platform/linux-generic/odp_barrier.c index ebae98ec..ec35d0ff 100644 --- a/platform/linux-generic/odp_barrier.c +++ b/platform/linux-generic/odp_barrier.c @@ -11,6 +11,7 @@ #include <odp/api/cpu.h> #include <odp/api/atomic.h> #include <odp/api/plat/atomic_inlines.h> +#include <odp/api/plat/sync_inlines.h>
void odp_barrier_init(odp_barrier_t *barrier, int count) { diff --git a/platform/linux-generic/odp_queue_basic.c b/platform/linux-generic/odp_queue_basic.c index 69fad639..4b4434c2 100644 --- a/platform/linux-generic/odp_queue_basic.c +++ b/platform/linux-generic/odp_queue_basic.c @@ -23,6 +23,7 @@ #include <odp_debug_internal.h> #include <odp/api/hints.h> #include <odp/api/sync.h> +#include <odp/api/plat/sync_inlines.h> #include <odp/api/traffic_mngr.h> #include <odp_libconfig_internal.h>
diff --git a/platform/linux-generic/odp_queue_scalable.c b/platform/linux-generic/odp_queue_scalable.c index 8f956911..56ea98bc 100644 --- a/platform/linux-generic/odp_queue_scalable.c +++ b/platform/linux-generic/odp_queue_scalable.c @@ -14,6 +14,7 @@ #include <odp/api/schedule.h> #include <odp/api/shared_memory.h> #include <odp/api/sync.h> +#include <odp/api/plat/sync_inlines.h> #include <odp/api/traffic_mngr.h>
#include <odp_internal.h>
commit 46064619d9bd9d2733089dcff044a9a86277dbdd Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Tue May 15 10:58:31 2018 +0300
linux-gen: use inlined thread functions everywhere
Make linux-gen platform code use inlined thread functions instead of doing proper functions calls.
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c index 0fce762a..967b0bfd 100644 --- a/platform/linux-generic/odp_crypto.c +++ b/platform/linux-generic/odp_crypto.c @@ -18,6 +18,7 @@ #include <odp/api/hints.h> #include <odp/api/random.h> #include <odp/api/plat/packet_inlines.h> +#include <odp/api/plat/thread_inlines.h> #include <odp_packet_internal.h>
/* Inlined API functions */ diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c index f030ff04..32c41427 100644 --- a/platform/linux-generic/odp_pool.c +++ b/platform/linux-generic/odp_pool.c @@ -11,6 +11,7 @@ #include <odp/api/align.h> #include <odp/api/ticketlock.h> #include <odp/api/system_info.h> +#include <odp/api/plat/thread_inlines.h>
#include <odp_pool_internal.h> #include <odp_internal.h> diff --git a/platform/linux-generic/odp_schedule_basic.c b/platform/linux-generic/odp_schedule_basic.c index 540dc6a4..f35c7b02 100644 --- a/platform/linux-generic/odp_schedule_basic.c +++ b/platform/linux-generic/odp_schedule_basic.c @@ -14,6 +14,7 @@ #include <odp_internal.h> #include <odp_debug_internal.h> #include <odp/api/thread.h> +#include <odp/api/plat/thread_inlines.h> #include <odp/api/time.h> #include <odp/api/spinlock.h> #include <odp/api/hints.h> diff --git a/platform/linux-generic/odp_schedule_iquery.c b/platform/linux-generic/odp_schedule_iquery.c index 40f2e9fc..a019157e 100644 --- a/platform/linux-generic/odp_schedule_iquery.c +++ b/platform/linux-generic/odp_schedule_iquery.c @@ -17,6 +17,7 @@ #include <odp_buffer_internal.h> #include <odp_bitmap_internal.h> #include <odp/api/thread.h> +#include <odp/api/plat/thread_inlines.h> #include <odp/api/time.h> #include <odp/api/rwlock.h> #include <odp/api/hints.h> diff --git a/platform/linux-generic/odp_schedule_scalable.c b/platform/linux-generic/odp_schedule_scalable.c index 44629378..f26a7e59 100644 --- a/platform/linux-generic/odp_schedule_scalable.c +++ b/platform/linux-generic/odp_schedule_scalable.c @@ -15,6 +15,7 @@ #include <odp/api/shared_memory.h> #include <odp/api/sync.h> #include <odp/api/thread.h> +#include <odp/api/plat/thread_inlines.h> #include <odp/api/thrmask.h> #include <odp/api/time.h>
diff --git a/platform/linux-generic/odp_schedule_sp.c b/platform/linux-generic/odp_schedule_sp.c index 84d16d3c..2cef0e82 100644 --- a/platform/linux-generic/odp_schedule_sp.c +++ b/platform/linux-generic/odp_schedule_sp.c @@ -9,6 +9,7 @@ #include <string.h> #include <odp/api/ticketlock.h> #include <odp/api/thread.h> +#include <odp/api/plat/thread_inlines.h> #include <odp/api/time.h> #include <odp/api/schedule.h> #include <odp/api/shared_memory.h>
commit ec41adeed9884621f242c8153612a3f2eaa5bcee Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Tue May 15 10:58:31 2018 +0300
linux-gen: use inlined atomic functions everywhere
Make linux-gen platform code use inlined atomic functions instead of doing proper functions calls.
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/include/odp/api/plat/packet_flag_inlines.h b/platform/linux-generic/include/odp/api/plat/packet_flag_inlines.h index cbb79758..6f32b46c 100644 --- a/platform/linux-generic/include/odp/api/plat/packet_flag_inlines.h +++ b/platform/linux-generic/include/odp/api/plat/packet_flag_inlines.h @@ -36,6 +36,7 @@ static inline uint64_t _odp_packet_input_flags(odp_packet_t pkt) #define odp_packet_has_ts __odp_packet_has_ts #define odp_packet_has_ipsec __odp_packet_has_ipsec #else + #undef _ODP_INLINE #define _ODP_INLINE #endif
diff --git a/platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h b/platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h index eabf1f82..e84ed88e 100644 --- a/platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h +++ b/platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h @@ -19,7 +19,10 @@ #define odp_ticketlock_trylock __odp_ticketlock_trylock #define odp_ticketlock_unlock __odp_ticketlock_unlock #define odp_ticketlock_is_locked __odp_ticketlock_is_locked + /* Inline atomic functions */ + #include <odp/api/plat/atomic_inlines.h> #else + #undef _ODP_INLINE #define _ODP_INLINE #endif
diff --git a/platform/linux-generic/include/odp_ring_internal.h b/platform/linux-generic/include/odp_ring_internal.h index 2db07548..b47c41e5 100644 --- a/platform/linux-generic/include/odp_ring_internal.h +++ b/platform/linux-generic/include/odp_ring_internal.h @@ -14,6 +14,7 @@ extern "C" { #include <odp/api/atomic.h> #include <odp/api/hints.h> #include <odp_align_internal.h> +#include <odp/api/plat/atomic_inlines.h>
/* Ring empty, not a valid data value. */ #define RING_EMPTY ((uint32_t)-1) diff --git a/platform/linux-generic/odp_barrier.c b/platform/linux-generic/odp_barrier.c index 6006add5..ebae98ec 100644 --- a/platform/linux-generic/odp_barrier.c +++ b/platform/linux-generic/odp_barrier.c @@ -10,6 +10,7 @@ #include <odp/api/sync.h> #include <odp/api/cpu.h> #include <odp/api/atomic.h> +#include <odp/api/plat/atomic_inlines.h>
void odp_barrier_init(odp_barrier_t *barrier, int count) { diff --git a/platform/linux-generic/odp_ipsec_sad.c b/platform/linux-generic/odp_ipsec_sad.c index c2126969..eea4ceb2 100644 --- a/platform/linux-generic/odp_ipsec_sad.c +++ b/platform/linux-generic/odp_ipsec_sad.c @@ -7,6 +7,7 @@ #include "config.h"
#include <odp/api/atomic.h> +#include <odp/api/plat/atomic_inlines.h> #include <odp/api/ipsec.h> #include <odp/api/random.h> #include <odp/api/shared_memory.h> diff --git a/platform/linux-generic/odp_queue_lf.c b/platform/linux-generic/odp_queue_lf.c index 066e6a67..afe629d1 100644 --- a/platform/linux-generic/odp_queue_lf.c +++ b/platform/linux-generic/odp_queue_lf.c @@ -6,6 +6,7 @@
#include <odp/api/queue.h> #include <odp/api/atomic.h> +#include <odp/api/plat/atomic_inlines.h> #include <odp/api/shared_memory.h> #include <odp_queue_internal.h> #include <string.h> diff --git a/platform/linux-generic/odp_rwlock.c b/platform/linux-generic/odp_rwlock.c index 119ead89..3a1086d2 100644 --- a/platform/linux-generic/odp_rwlock.c +++ b/platform/linux-generic/odp_rwlock.c @@ -8,6 +8,7 @@
#include <stdbool.h> #include <odp/api/atomic.h> +#include <odp/api/plat/atomic_inlines.h> #include <odp/api/rwlock.h> #include <odp/api/cpu.h>
diff --git a/platform/linux-generic/odp_ticketlock_api.c b/platform/linux-generic/odp_ticketlock_api.c index 1de55d90..ebbb8657 100644 --- a/platform/linux-generic/odp_ticketlock_api.c +++ b/platform/linux-generic/odp_ticketlock_api.c @@ -7,6 +7,7 @@ #include "config.h"
#include <odp/api/ticketlock.h> +#include <odp/api/plat/atomic_inlines.h>
#define _ODP_NO_INLINE #include <odp/api/plat/ticketlock_inlines.h>
commit 758fdf094deae51597b5e9f5f70584c3dba92ff1 Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Tue May 15 10:58:31 2018 +0300
linux-gen: pktio: use inlined packet functions
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index 2f39b981..8a5da105 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -12,6 +12,7 @@ #include <odp/api/plat/pktio_inlines.h> #include <odp_packet_io_internal.h> #include <odp/api/packet.h> +#include <odp/api/plat/packet_inlines.h> #include <odp_packet_internal.h> #include <odp_internal.h> #include <odp/api/spinlock.h>
commit c5b855df5b9e4388efd387810959b0f81f072fc9 Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Tue May 15 00:26:21 2018 +0300
linux-gen: std clib: rework code to follow inlining style
Rework std clib module to follow _ODP_INLINE style of code used by the rest of ODP codebase.
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 04c04f7c..fb212950 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -216,7 +216,7 @@ __LIB__libodp_linux_la_SOURCES += \ odp_packet_api.c \ odp_packet_flags_api.c \ odp_pktio_api.c \ - odp_std_clib.c \ + odp_std_clib_api.c \ odp_sync_api.c \ odp_thread_api.c \ odp_ticketlock_api.c diff --git a/platform/linux-generic/include/odp/api/plat/std_clib_inlines.h b/platform/linux-generic/include/odp/api/plat/std_clib_inlines.h index c07b57b7..4265eaf1 100644 --- a/platform/linux-generic/include/odp/api/plat/std_clib_inlines.h +++ b/platform/linux-generic/include/odp/api/plat/std_clib_inlines.h @@ -7,12 +7,20 @@ #ifndef ODP_PLAT_STD_CLIB_INLINE_H_ #define ODP_PLAT_STD_CLIB_INLINE_H_
-#ifdef __cplusplus -extern "C" { -#endif +/** @cond _ODP_HIDE_FROM_DOXYGEN_ */
#include <string.h>
+#ifndef _ODP_NO_INLINE + /* Inline functions by default */ + #define _ODP_INLINE static inline + #define odp_memcpy __odp_memcpy + #define odp_memset __odp_memset + #define odp_memcmp __odp_memcmp +#else + #define _ODP_INLINE +#endif + _ODP_INLINE void *odp_memcpy(void *dst, const void *src, size_t num) { return memcpy(dst, src, num); @@ -28,8 +36,6 @@ _ODP_INLINE int odp_memcmp(const void *ptr1, const void *ptr2, size_t num) return memcmp(ptr1, ptr2, num); }
-#ifdef __cplusplus -} -#endif +/** @endcond */
#endif diff --git a/platform/linux-generic/odp_std_clib.c b/platform/linux-generic/odp_std_clib_api.c similarity index 92% rename from platform/linux-generic/odp_std_clib.c rename to platform/linux-generic/odp_std_clib_api.c index f43f62c9..faa37847 100644 --- a/platform/linux-generic/odp_std_clib.c +++ b/platform/linux-generic/odp_std_clib_api.c @@ -9,5 +9,5 @@ #include <odp/api/std_clib.h>
/* Include non-inlined versions of API functions */ -#define _ODP_INLINE +#define _ODP_NO_INLINE #include <odp/api/plat/std_clib_inlines.h>
commit 7299adcc939a3d55b2c694744037ea9ea1dd7835 Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Tue May 15 00:26:21 2018 +0300
linux-gen: sync: rework code to follow inlining style
Rework sync module to follow _ODP_INLINE style of code used by the rest of ODP codebase.
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 96ddb33d..04c04f7c 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -217,7 +217,7 @@ __LIB__libodp_linux_la_SOURCES += \ odp_packet_flags_api.c \ odp_pktio_api.c \ odp_std_clib.c \ - odp_sync.c \ + odp_sync_api.c \ odp_thread_api.c \ odp_ticketlock_api.c endif diff --git a/platform/linux-generic/include/odp/api/plat/sync_inlines.h b/platform/linux-generic/include/odp/api/plat/sync_inlines.h index 34a74444..b6a96188 100644 --- a/platform/linux-generic/include/odp/api/plat/sync_inlines.h +++ b/platform/linux-generic/include/odp/api/plat/sync_inlines.h @@ -17,9 +17,17 @@ extern "C" { #endif
-/** @ingroup odp_barrier - * @{ - */ +/** @cond _ODP_HIDE_FROM_DOXYGEN_ */ + +#ifndef _ODP_NO_INLINE + /* Inline functions by default */ + #define _ODP_INLINE static inline + #define odp_mb_release __odp_mb_release + #define odp_mb_acquire __odp_mb_acquire + #define odp_mb_full __odp_mb_full +#else + #define _ODP_INLINE +#endif
_ODP_INLINE void odp_mb_release(void) { @@ -36,9 +44,7 @@ _ODP_INLINE void odp_mb_full(void) __atomic_thread_fence(__ATOMIC_SEQ_CST); }
-/** - * @} - */ +/** @endcond */
#ifdef __cplusplus } diff --git a/platform/linux-generic/odp_sync.c b/platform/linux-generic/odp_sync_api.c similarity index 91% rename from platform/linux-generic/odp_sync.c rename to platform/linux-generic/odp_sync_api.c index a20278ce..6e91209a 100644 --- a/platform/linux-generic/odp_sync.c +++ b/platform/linux-generic/odp_sync_api.c @@ -9,5 +9,5 @@ #include <odp/api/sync.h>
/* Include non-inlined versions of API functions */ -#define _ODP_INLINE +#define _ODP_NO_INLINE #include <odp/api/plat/sync_inlines.h>
commit 455230a4331e25a1bb68e6fe1c0058bd790c9d9b Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Tue May 15 00:26:21 2018 +0300
linux-gen: packet: remove separate API inlining header
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 033f38a5..96ddb33d 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -30,7 +30,6 @@ odpapiplatinclude_HEADERS = \ include/odp/api/plat/packet_flag_inlines.h \ include/odp/api/plat/packet_inline_types.h \ include/odp/api/plat/packet_inlines.h \ - include/odp/api/plat/packet_inlines_api.h \ include/odp/api/plat/pktio_inlines.h \ include/odp/api/plat/pool_inline_types.h \ include/odp/api/plat/std_clib_inlines.h \ diff --git a/platform/linux-generic/include-abi/odp/api/abi/packet.h b/platform/linux-generic/include-abi/odp/api/abi/packet.h index 0b11d0bd..fe21c7d9 100644 --- a/platform/linux-generic/include-abi/odp/api/abi/packet.h +++ b/platform/linux-generic/include-abi/odp/api/abi/packet.h @@ -90,8 +90,6 @@ typedef enum { #define ODP_NUM_PACKET_COLORS 3
#include <odp/api/plat/packet_inlines.h> -#define _ODP_INLINE static inline -#include <odp/api/plat/packet_inlines_api.h>
/** * @} diff --git a/platform/linux-generic/include/odp/api/plat/packet_inlines.h b/platform/linux-generic/include/odp/api/plat/packet_inlines.h index 2b9c4322..e2c32728 100644 --- a/platform/linux-generic/include/odp/api/plat/packet_inlines.h +++ b/platform/linux-generic/include/odp/api/plat/packet_inlines.h @@ -28,6 +28,47 @@
/** @cond _ODP_HIDE_FROM_DOXYGEN_ */
+#ifndef _ODP_NO_INLINE + /* Inline functions by default */ + #define _ODP_INLINE static inline + #define odp_packet_data __odp_packet_data + #define odp_packet_seg_len __odp_packet_seg_len + #define odp_packet_data_seg_len __odp_packet_data_seg_len + #define odp_packet_len __odp_packet_len + #define odp_packet_headroom __odp_packet_headroom + #define odp_packet_tailroom __odp_packet_tailroom + #define odp_packet_pool __odp_packet_pool + #define odp_packet_input __odp_packet_input + #define odp_packet_input_index __odp_packet_input_index + #define odp_packet_num_segs __odp_packet_num_segs + #define odp_packet_user_ptr __odp_packet_user_ptr + #define odp_packet_user_area __odp_packet_user_area + #define odp_packet_user_area_size __odp_packet_user_area_size + #define odp_packet_l2_offset __odp_packet_l2_offset + #define odp_packet_l3_offset __odp_packet_l3_offset + #define odp_packet_l4_offset __odp_packet_l4_offset + #define odp_packet_l2_ptr __odp_packet_l2_ptr + #define odp_packet_l3_ptr __odp_packet_l3_ptr + #define odp_packet_l4_ptr __odp_packet_l4_ptr + #define odp_packet_flow_hash __odp_packet_flow_hash + #define odp_packet_ts __odp_packet_ts + #define odp_packet_head __odp_packet_head + #define odp_packet_is_segmented __odp_packet_is_segmented + #define odp_packet_first_seg __odp_packet_first_seg + #define odp_packet_last_seg __odp_packet_last_seg + #define odp_packet_next_seg __odp_packet_next_seg + #define odp_packet_prefetch __odp_packet_prefetch + #define odp_packet_copy_from_mem __odp_packet_copy_from_mem + #define odp_packet_copy_to_mem __odp_packet_copy_to_mem + #define odp_packet_from_event __odp_packet_from_event + #define odp_packet_to_event __odp_packet_to_event + #define odp_packet_from_event_multi __odp_packet_from_event_multi + #define odp_packet_to_event_multi __odp_packet_to_event_multi +#else + #undef _ODP_INLINE + #define _ODP_INLINE +#endif + void *_odp_packet_map(void *pkt_ptr, uint32_t offset, uint32_t *seg_len, int *seg_idx);
@@ -53,63 +94,63 @@ static inline odp_packet_seg_t _odp_packet_seg_from_ndx(uint32_t ndx) } #endif
-static inline void *_odp_packet_data(odp_packet_t pkt) +_ODP_INLINE void *odp_packet_data(odp_packet_t pkt) { return _odp_pkt_get(pkt, void *, data); }
-static inline uint32_t _odp_packet_seg_len(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_seg_len(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint32_t, seg_len); }
-static inline void *_odp_packet_data_seg_len(odp_packet_t pkt, +_ODP_INLINE void *odp_packet_data_seg_len(odp_packet_t pkt, uint32_t *seg_len) { - *seg_len = _odp_packet_seg_len(pkt); - return _odp_packet_data(pkt); + *seg_len = odp_packet_seg_len(pkt); + return odp_packet_data(pkt); }
-static inline uint32_t _odp_packet_len(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_len(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint32_t, frame_len); }
-static inline uint32_t _odp_packet_headroom(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_headroom(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint16_t, headroom); }
-static inline uint32_t _odp_packet_tailroom(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_tailroom(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint16_t, tailroom); }
-static inline odp_pool_t _odp_packet_pool(odp_packet_t pkt) +_ODP_INLINE odp_pool_t odp_packet_pool(odp_packet_t pkt) { void *pool = _odp_pkt_get(pkt, void *, pool);
return _odp_pool_get(pool, odp_pool_t, pool_hdl); }
-static inline odp_pktio_t _odp_packet_input(odp_packet_t pkt) +_ODP_INLINE odp_pktio_t odp_packet_input(odp_packet_t pkt) { return _odp_pkt_get(pkt, odp_pktio_t, input); }
-static inline int _odp_packet_input_index(odp_packet_t pkt) +_ODP_INLINE int odp_packet_input_index(odp_packet_t pkt) { - odp_pktio_t pktio = _odp_packet_input(pkt); + odp_pktio_t pktio = odp_packet_input(pkt);
return odp_pktio_index(pktio); }
-static inline int _odp_packet_num_segs(odp_packet_t pkt) +_ODP_INLINE int odp_packet_num_segs(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint8_t, segcount); }
-static inline void *_odp_packet_user_ptr(odp_packet_t pkt) +_ODP_INLINE void *odp_packet_user_ptr(odp_packet_t pkt) { _odp_packet_flags_t flags;
@@ -121,38 +162,38 @@ static inline void *_odp_packet_user_ptr(odp_packet_t pkt) return _odp_pkt_get(pkt, void *, user_ptr); }
-static inline void *_odp_packet_user_area(odp_packet_t pkt) +_ODP_INLINE void *odp_packet_user_area(odp_packet_t pkt) { return _odp_pkt_get(pkt, void *, user_area); }
-static inline uint32_t _odp_packet_user_area_size(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_user_area_size(odp_packet_t pkt) { void *pool = _odp_pkt_get(pkt, void *, pool);
return _odp_pool_get(pool, uint32_t, uarea_size); }
-static inline uint32_t _odp_packet_l2_offset(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_l2_offset(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint16_t, l2_offset); }
-static inline uint32_t _odp_packet_l3_offset(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_l3_offset(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint16_t, l3_offset); }
-static inline uint32_t _odp_packet_l4_offset(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_l4_offset(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint16_t, l4_offset); }
-static inline void *_odp_packet_l2_ptr(odp_packet_t pkt, uint32_t *len) +_ODP_INLINE void *odp_packet_l2_ptr(odp_packet_t pkt, uint32_t *len) { - uint32_t offset = _odp_packet_l2_offset(pkt); - uint32_t seg_len = _odp_packet_seg_len(pkt); - uint8_t *data = (uint8_t *)_odp_packet_data(pkt); + uint32_t offset = odp_packet_l2_offset(pkt); + uint32_t seg_len = odp_packet_seg_len(pkt); + uint8_t *data = (uint8_t *)odp_packet_data(pkt);
if (odp_unlikely(offset >= seg_len)) { void *pkt_hdr = (void *)pkt; @@ -166,11 +207,11 @@ static inline void *_odp_packet_l2_ptr(odp_packet_t pkt, uint32_t *len) return data + offset; }
-static inline void *_odp_packet_l3_ptr(odp_packet_t pkt, uint32_t *len) +_ODP_INLINE void *odp_packet_l3_ptr(odp_packet_t pkt, uint32_t *len) { - uint32_t offset = _odp_packet_l3_offset(pkt); - uint32_t seg_len = _odp_packet_seg_len(pkt); - uint8_t *data = (uint8_t *)_odp_packet_data(pkt); + uint32_t offset = odp_packet_l3_offset(pkt); + uint32_t seg_len = odp_packet_seg_len(pkt); + uint8_t *data = (uint8_t *)odp_packet_data(pkt);
if (odp_unlikely(offset >= seg_len)) { void *pkt_hdr = (void *)pkt; @@ -184,11 +225,11 @@ static inline void *_odp_packet_l3_ptr(odp_packet_t pkt, uint32_t *len) return data + offset; }
-static inline void *_odp_packet_l4_ptr(odp_packet_t pkt, uint32_t *len) +_ODP_INLINE void *odp_packet_l4_ptr(odp_packet_t pkt, uint32_t *len) { - uint32_t offset = _odp_packet_l4_offset(pkt); - uint32_t seg_len = _odp_packet_seg_len(pkt); - uint8_t *data = (uint8_t *)_odp_packet_data(pkt); + uint32_t offset = odp_packet_l4_offset(pkt); + uint32_t seg_len = odp_packet_seg_len(pkt); + uint8_t *data = (uint8_t *)odp_packet_data(pkt);
if (odp_unlikely(offset >= seg_len)) { void *pkt_hdr = (void *)pkt; @@ -202,53 +243,53 @@ static inline void *_odp_packet_l4_ptr(odp_packet_t pkt, uint32_t *len) return data + offset; }
-static inline uint32_t _odp_packet_flow_hash(odp_packet_t pkt) +_ODP_INLINE uint32_t odp_packet_flow_hash(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint32_t, flow_hash); }
-static inline odp_time_t _odp_packet_ts(odp_packet_t pkt) +_ODP_INLINE odp_time_t odp_packet_ts(odp_packet_t pkt) { return _odp_pkt_get(pkt, odp_time_t, timestamp); }
-static inline void *_odp_packet_head(odp_packet_t pkt) +_ODP_INLINE void *odp_packet_head(odp_packet_t pkt) { - return (uint8_t *)_odp_packet_data(pkt) - _odp_packet_headroom(pkt); + return (uint8_t *)odp_packet_data(pkt) - odp_packet_headroom(pkt); }
-static inline int _odp_packet_is_segmented(odp_packet_t pkt) +_ODP_INLINE int odp_packet_is_segmented(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint8_t, segcount) > 1; }
-static inline odp_packet_seg_t _odp_packet_first_seg(odp_packet_t pkt) +_ODP_INLINE odp_packet_seg_t odp_packet_first_seg(odp_packet_t pkt) { (void)pkt;
return _odp_packet_seg_from_ndx(0); }
-static inline odp_packet_seg_t _odp_packet_last_seg(odp_packet_t pkt) +_ODP_INLINE odp_packet_seg_t odp_packet_last_seg(odp_packet_t pkt) { - return _odp_packet_seg_from_ndx(_odp_packet_num_segs(pkt) - 1); + return _odp_packet_seg_from_ndx(odp_packet_num_segs(pkt) - 1); }
-static inline odp_packet_seg_t _odp_packet_next_seg(odp_packet_t pkt, +_ODP_INLINE odp_packet_seg_t odp_packet_next_seg(odp_packet_t pkt, odp_packet_seg_t seg) { if (odp_unlikely(_odp_packet_seg_to_ndx(seg) >= - _odp_packet_seg_to_ndx(_odp_packet_last_seg(pkt)))) + _odp_packet_seg_to_ndx(odp_packet_last_seg(pkt)))) return ODP_PACKET_SEG_INVALID;
return seg + 1; }
-static inline void _odp_packet_prefetch(odp_packet_t pkt, uint32_t offset, +_ODP_INLINE void odp_packet_prefetch(odp_packet_t pkt, uint32_t offset, uint32_t len) { - uint32_t seg_len = _odp_packet_seg_len(pkt); - uint8_t *data = (uint8_t *)_odp_packet_data(pkt); + uint32_t seg_len = odp_packet_seg_len(pkt); + uint8_t *data = (uint8_t *)odp_packet_data(pkt); (void)len;
if (odp_unlikely(offset >= seg_len)) @@ -257,11 +298,11 @@ static inline void _odp_packet_prefetch(odp_packet_t pkt, uint32_t offset, odp_prefetch(data + offset); }
-static inline int _odp_packet_copy_from_mem(odp_packet_t pkt, uint32_t offset, +_ODP_INLINE int odp_packet_copy_from_mem(odp_packet_t pkt, uint32_t offset, uint32_t len, const void *src) { - uint32_t seg_len = _odp_packet_seg_len(pkt); - uint8_t *data = (uint8_t *)_odp_packet_data(pkt); + uint32_t seg_len = odp_packet_seg_len(pkt); + uint8_t *data = (uint8_t *)odp_packet_data(pkt);
if (odp_unlikely(offset + len > seg_len)) return _odp_packet_copy_from_mem_seg(pkt, offset, len, src); @@ -271,11 +312,11 @@ static inline int _odp_packet_copy_from_mem(odp_packet_t pkt, uint32_t offset, return 0; }
-static inline int _odp_packet_copy_to_mem(odp_packet_t pkt, uint32_t offset, +_ODP_INLINE int odp_packet_copy_to_mem(odp_packet_t pkt, uint32_t offset, uint32_t len, void *dst) { - uint32_t seg_len = _odp_packet_seg_len(pkt); - uint8_t *data = (uint8_t *)_odp_packet_data(pkt); + uint32_t seg_len = odp_packet_seg_len(pkt); + uint8_t *data = (uint8_t *)odp_packet_data(pkt);
if (odp_unlikely(offset + len > seg_len)) return _odp_packet_copy_to_mem_seg(pkt, offset, len, dst); @@ -285,33 +326,33 @@ static inline int _odp_packet_copy_to_mem(odp_packet_t pkt, uint32_t offset, return 0; }
-static inline odp_packet_t _odp_packet_from_event(odp_event_t ev) +_ODP_INLINE odp_packet_t odp_packet_from_event(odp_event_t ev) { return (odp_packet_t)ev; }
-static inline odp_event_t _odp_packet_to_event(odp_packet_t pkt) +_ODP_INLINE odp_event_t odp_packet_to_event(odp_packet_t pkt) { return (odp_event_t)pkt; }
-static inline void _odp_packet_from_event_multi(odp_packet_t pkt[], +_ODP_INLINE void odp_packet_from_event_multi(odp_packet_t pkt[], const odp_event_t ev[], int num) { int i;
for (i = 0; i < num; i++) - pkt[i] = _odp_packet_from_event(ev[i]); + pkt[i] = odp_packet_from_event(ev[i]); }
-static inline void _odp_packet_to_event_multi(const odp_packet_t pkt[], +_ODP_INLINE void odp_packet_to_event_multi(const odp_packet_t pkt[], odp_event_t ev[], int num) { int i;
for (i = 0; i < num; i++) - ev[i] = _odp_packet_to_event(pkt[i]); + ev[i] = odp_packet_to_event(pkt[i]); }
/** @endcond */ diff --git a/platform/linux-generic/include/odp/api/plat/packet_inlines_api.h b/platform/linux-generic/include/odp/api/plat/packet_inlines_api.h deleted file mode 100644 index 76210e00..00000000 --- a/platform/linux-generic/include/odp/api/plat/packet_inlines_api.h +++ /dev/null @@ -1,186 +0,0 @@ -/* Copyright (c) 2017-2018, Linaro Limited - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -/** - * @file - * - * Packet inline functions - */ - -#ifndef _ODP_PLAT_PACKET_INLINES_API_H_ -#define _ODP_PLAT_PACKET_INLINES_API_H_ - -_ODP_INLINE void *odp_packet_data(odp_packet_t pkt) -{ - return _odp_packet_data(pkt); -} - -_ODP_INLINE uint32_t odp_packet_seg_len(odp_packet_t pkt) -{ - return _odp_packet_seg_len(pkt); -} - -_ODP_INLINE void *odp_packet_data_seg_len(odp_packet_t pkt, uint32_t *seg_len) -{ - return _odp_packet_data_seg_len(pkt, seg_len); -} - -_ODP_INLINE uint32_t odp_packet_len(odp_packet_t pkt) -{ - return _odp_packet_len(pkt); -} - -_ODP_INLINE uint32_t odp_packet_headroom(odp_packet_t pkt) -{ - return _odp_packet_headroom(pkt); -} - -_ODP_INLINE uint32_t odp_packet_tailroom(odp_packet_t pkt) -{ - return _odp_packet_tailroom(pkt); -} - -_ODP_INLINE odp_pool_t odp_packet_pool(odp_packet_t pkt) -{ - return _odp_packet_pool(pkt); -} - -_ODP_INLINE odp_pktio_t odp_packet_input(odp_packet_t pkt) -{ - return _odp_packet_input(pkt); -} - -_ODP_INLINE int odp_packet_input_index(odp_packet_t pkt) -{ - return _odp_packet_input_index(pkt); -} - -_ODP_INLINE int odp_packet_num_segs(odp_packet_t pkt) -{ - return _odp_packet_num_segs(pkt); -} - -_ODP_INLINE void *odp_packet_user_ptr(odp_packet_t pkt) -{ - return _odp_packet_user_ptr(pkt); -} - -_ODP_INLINE void *odp_packet_user_area(odp_packet_t pkt) -{ - return _odp_packet_user_area(pkt); -} - -_ODP_INLINE uint32_t odp_packet_user_area_size(odp_packet_t pkt) -{ - return _odp_packet_user_area_size(pkt); -} - -_ODP_INLINE uint32_t odp_packet_l2_offset(odp_packet_t pkt) -{ - return _odp_packet_l2_offset(pkt); -} - -_ODP_INLINE uint32_t odp_packet_l3_offset(odp_packet_t pkt) -{ - return _odp_packet_l3_offset(pkt); -} - -_ODP_INLINE uint32_t odp_packet_l4_offset(odp_packet_t pkt) -{ - return _odp_packet_l4_offset(pkt); -} - -_ODP_INLINE void *odp_packet_l2_ptr(odp_packet_t pkt, uint32_t *len) -{ - return _odp_packet_l2_ptr(pkt, len); -} - -_ODP_INLINE void *odp_packet_l3_ptr(odp_packet_t pkt, uint32_t *len) -{ - return _odp_packet_l3_ptr(pkt, len); -} - -_ODP_INLINE void *odp_packet_l4_ptr(odp_packet_t pkt, uint32_t *len) -{ - return _odp_packet_l4_ptr(pkt, len); -} - -_ODP_INLINE uint32_t odp_packet_flow_hash(odp_packet_t pkt) -{ - return _odp_packet_flow_hash(pkt); -} - -_ODP_INLINE odp_time_t odp_packet_ts(odp_packet_t pkt) -{ - return _odp_packet_ts(pkt); -} - -_ODP_INLINE void *odp_packet_head(odp_packet_t pkt) -{ - return _odp_packet_head(pkt); -} - -_ODP_INLINE int odp_packet_is_segmented(odp_packet_t pkt) -{ - return _odp_packet_is_segmented(pkt); -} - -_ODP_INLINE odp_packet_seg_t odp_packet_first_seg(odp_packet_t pkt) -{ - return _odp_packet_first_seg(pkt); -} - -_ODP_INLINE odp_packet_seg_t odp_packet_last_seg(odp_packet_t pkt) -{ - return _odp_packet_last_seg(pkt); -} - -_ODP_INLINE odp_packet_seg_t odp_packet_next_seg(odp_packet_t pkt, - odp_packet_seg_t seg) -{ - return _odp_packet_next_seg(pkt, seg); -} - -_ODP_INLINE void odp_packet_prefetch(odp_packet_t pkt, uint32_t offset, - uint32_t len) -{ - return _odp_packet_prefetch(pkt, offset, len); -} - -_ODP_INLINE int odp_packet_copy_from_mem(odp_packet_t pkt, uint32_t offset, - uint32_t len, const void *src) -{ - return _odp_packet_copy_from_mem(pkt, offset, len, src); -} - -_ODP_INLINE int odp_packet_copy_to_mem(odp_packet_t pkt, uint32_t offset, - uint32_t len, void *dst) -{ - return _odp_packet_copy_to_mem(pkt, offset, len, dst); -} - -_ODP_INLINE odp_packet_t odp_packet_from_event(odp_event_t ev) -{ - return _odp_packet_from_event(ev); -} - -_ODP_INLINE odp_event_t odp_packet_to_event(odp_packet_t pkt) -{ - return _odp_packet_to_event(pkt); -} - -_ODP_INLINE void odp_packet_from_event_multi(odp_packet_t pkt[], - const odp_event_t ev[], int num) -{ - return _odp_packet_from_event_multi(pkt, ev, num); -} - -_ODP_INLINE void odp_packet_to_event_multi(const odp_packet_t pkt[], - odp_event_t ev[], int num) -{ - return _odp_packet_to_event_multi(pkt, ev, num); -} -#endif diff --git a/platform/linux-generic/include/odp/api/plat/pktio_inlines.h b/platform/linux-generic/include/odp/api/plat/pktio_inlines.h index e219952a..2a2f291b 100644 --- a/platform/linux-generic/include/odp/api/plat/pktio_inlines.h +++ b/platform/linux-generic/include/odp/api/plat/pktio_inlines.h @@ -18,6 +18,7 @@ extern "C" { #define _ODP_INLINE static inline #define odp_pktio_index __odp_pktio_index #else + #undef _ODP_INLINE #define _ODP_INLINE #endif
diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c index b3e1d150..e3204f88 100644 --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@ -1513,7 +1513,7 @@ int odp_packet_align(odp_packet_t *pkt, uint32_t offset, uint32_t len, return rc;
(void)odp_packet_move_data(*pkt, 0, shift, - _odp_packet_len(*pkt) - shift); + odp_packet_len(*pkt) - shift);
(void)odp_packet_trunc_tail(pkt, shift, NULL, NULL); return 1; @@ -1555,7 +1555,7 @@ int odp_packet_concat(odp_packet_t *dst, odp_packet_t src)
int odp_packet_split(odp_packet_t *pkt, uint32_t len, odp_packet_t *tail) { - uint32_t pktlen = _odp_packet_len(*pkt); + uint32_t pktlen = odp_packet_len(*pkt);
if (len >= pktlen || tail == NULL) return -1; @@ -1598,7 +1598,7 @@ odp_packet_t odp_packet_copy(odp_packet_t pkt, odp_pool_t pool) odp_packet_t odp_packet_copy_part(odp_packet_t pkt, uint32_t offset, uint32_t len, odp_pool_t pool) { - uint32_t pktlen = _odp_packet_len(pkt); + uint32_t pktlen = odp_packet_len(pkt); odp_packet_t newpkt;
if (offset >= pktlen || offset + len > pktlen) diff --git a/platform/linux-generic/odp_packet_api.c b/platform/linux-generic/odp_packet_api.c index 8f9f8dee..6bc37db4 100644 --- a/platform/linux-generic/odp_packet_api.c +++ b/platform/linux-generic/odp_packet_api.c @@ -7,7 +7,6 @@ #include "config.h"
#include <odp/api/packet.h> -#include <odp/api/plat/packet_inlines.h> #include <odp_packet_internal.h> #include <odp_debug_internal.h> #include <odp/api/hints.h> @@ -23,7 +22,9 @@ #include <stdio.h> #include <inttypes.h>
+/* Prevent this header from being included again later */ +#include <odp/api/plat/pktio_inlines.h> + /* Include non-inlined versions of API functions */ -#undef _ODP_INLINE -#define _ODP_INLINE -#include <odp/api/plat/packet_inlines_api.h> +#define _ODP_NO_INLINE +#include <odp/api/plat/packet_inlines.h> diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c index 6e741e01..f851a7b0 100644 --- a/platform/linux-generic/odp_traffic_mngr.c +++ b/platform/linux-generic/odp_traffic_mngr.c @@ -1931,7 +1931,7 @@ static void egress_vlan_marking(tm_vlan_marking_t *vlan_marking, uint32_t hdr_len; uint16_t old_tci, new_tci;
- ether_hdr_ptr = _odp_packet_l2_ptr(odp_pkt, &hdr_len); + ether_hdr_ptr = odp_packet_l2_ptr(odp_pkt, &hdr_len); vlan_hdr_ptr = (_odp_vlanhdr_t *)(ether_hdr_ptr + 1);
/* If the split_hdr variable below is TRUE, then this indicates that @@ -1943,7 +1943,7 @@ static void egress_vlan_marking(tm_vlan_marking_t *vlan_marking, * correctness rather then performance. */ split_hdr = hdr_len < (_ODP_ETHHDR_LEN + _ODP_VLANHDR_LEN); if (split_hdr) { - _odp_packet_copy_to_mem(odp_pkt, _ODP_ETHHDR_LEN, + odp_packet_copy_to_mem(odp_pkt, _ODP_ETHHDR_LEN, _ODP_VLANHDR_LEN, &vlan_hdr); vlan_hdr_ptr = &vlan_hdr; } @@ -1958,7 +1958,7 @@ static void egress_vlan_marking(tm_vlan_marking_t *vlan_marking,
vlan_hdr_ptr->tci = odp_cpu_to_be_16(new_tci); if (split_hdr) - _odp_packet_copy_from_mem(odp_pkt, _ODP_ETHHDR_LEN, + odp_packet_copy_from_mem(odp_pkt, _ODP_ETHHDR_LEN, _ODP_VLANHDR_LEN, &vlan_hdr); }
@@ -1970,8 +1970,8 @@ static void egress_ipv4_tos_marking(tm_tos_marking_t *tos_marking, uint32_t hdr_len, l3_offset, old_chksum, ones_compl_sum, tos_diff; uint8_t old_tos, new_tos, ecn;
- l3_offset = _odp_packet_l3_offset(odp_pkt); - ipv4_hdr_ptr = _odp_packet_l3_ptr(odp_pkt, &hdr_len); + l3_offset = odp_packet_l3_offset(odp_pkt); + ipv4_hdr_ptr = odp_packet_l3_ptr(odp_pkt, &hdr_len);
/* If the split_hdr variable below is TRUE, then this indicates that * for this odp (output) packet the IPv4 header is not all in the same @@ -1982,7 +1982,7 @@ static void egress_ipv4_tos_marking(tm_tos_marking_t *tos_marking, * correctness rather then performance. */ split_hdr = hdr_len < 12; if (split_hdr) { - _odp_packet_copy_to_mem(odp_pkt, l3_offset, + odp_packet_copy_to_mem(odp_pkt, l3_offset, _ODP_IPV4HDR_LEN, &ipv4_hdr); ipv4_hdr_ptr = &ipv4_hdr; } @@ -2024,7 +2024,7 @@ static void egress_ipv4_tos_marking(tm_tos_marking_t *tos_marking, ipv4_hdr_ptr->tos = new_tos; ipv4_hdr_ptr->chksum = odp_cpu_to_be_16((~ones_compl_sum) & 0xFFFF); if (split_hdr) - _odp_packet_copy_from_mem(odp_pkt, l3_offset, + odp_packet_copy_from_mem(odp_pkt, l3_offset, _ODP_IPV4HDR_LEN, &ipv4_hdr); }
@@ -2036,8 +2036,8 @@ static void egress_ipv6_tc_marking(tm_tos_marking_t *tos_marking, uint32_t hdr_len, old_ver_tc_flow, new_ver_tc_flow, l3_offset; uint8_t old_tc, new_tc, ecn;
- l3_offset = _odp_packet_l3_offset(odp_pkt); - ipv6_hdr_ptr = _odp_packet_l3_ptr(odp_pkt, &hdr_len); + l3_offset = odp_packet_l3_offset(odp_pkt); + ipv6_hdr_ptr = odp_packet_l3_ptr(odp_pkt, &hdr_len);
/* If the split_hdr variable below is TRUE, then this indicates that * for this odp (output) packet the IPv6 header is not all in the same @@ -2048,7 +2048,7 @@ static void egress_ipv6_tc_marking(tm_tos_marking_t *tos_marking, * correctness rather then performance. */ split_hdr = hdr_len < 4; if (split_hdr) { - _odp_packet_copy_to_mem(odp_pkt, l3_offset, + odp_packet_copy_to_mem(odp_pkt, l3_offset, _ODP_IPV6HDR_LEN, &ipv6_hdr); ipv6_hdr_ptr = &ipv6_hdr; } @@ -2077,7 +2077,7 @@ static void egress_ipv6_tc_marking(tm_tos_marking_t *tos_marking, ipv6_hdr_ptr->ver_tc_flow = odp_cpu_to_be_32(new_ver_tc_flow);
if (split_hdr) - _odp_packet_copy_from_mem(odp_pkt, l3_offset, + odp_packet_copy_from_mem(odp_pkt, l3_offset, _ODP_IPV6HDR_LEN, &ipv6_hdr); }
diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c index 206a6a45..1ecd7d58 100644 --- a/platform/linux-generic/pktio/dpdk.c +++ b/platform/linux-generic/pktio/dpdk.c @@ -483,7 +483,7 @@ static inline int mbuf_to_pkt(pktio_entry_t *pktio_entry, pkt_hdr = packet_hdr(pkt); pull_tail(pkt_hdr, alloc_len - pkt_len);
- if (_odp_packet_copy_from_mem(pkt, 0, pkt_len, data) != 0) + if (odp_packet_copy_from_mem(pkt, 0, pkt_len, data) != 0) goto fail;
pkt_hdr->input = input; @@ -659,7 +659,7 @@ static inline int pkt_to_mbuf(pktio_entry_t *pktio_entry, /* Packet always fits in mbuf */ data = rte_pktmbuf_append(mbuf_table[i], pkt_len);
- _odp_packet_copy_to_mem(pkt_table[i], 0, pkt_len, data); + odp_packet_copy_to_mem(pkt_table[i], 0, pkt_len, data);
if (odp_unlikely(pktio_entry->s.chksum_insert_ena)) { odp_pktout_config_opt_t *pktout_capa = @@ -788,7 +788,7 @@ static inline int pkt_to_mbuf_zero(pktio_entry_t *pktio_entry,
if (odp_unlikely(pktio_entry->s.chksum_insert_ena)) pkt_set_ol_tx(pktout_cfg, pktout_capa, pkt_hdr, - mbuf, _odp_packet_data(pkt)); + mbuf, odp_packet_data(pkt)); } else { pool_t *pool_entry = pkt_hdr->buf_hdr.pool_ptr;
@@ -812,7 +812,7 @@ static inline int pkt_to_mbuf_zero(pktio_entry_t *pktio_entry, if (pktio_entry->s.chksum_insert_ena) pkt_set_ol_tx(pktout_cfg, pktout_capa, pkt_hdr, mbuf, - _odp_packet_data(pkt)); + odp_packet_data(pkt)); } } mbuf_table[i] = mbuf; diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c index 1fb76d2a..45f717d5 100644 --- a/platform/linux-generic/pktio/netmap.c +++ b/platform/linux-generic/pktio/netmap.c @@ -715,7 +715,7 @@ static inline int netmap_pkt_to_odp(pktio_entry_t *pktio_entry,
/* For now copy the data in the mbuf, worry about zero-copy later */ - if (_odp_packet_copy_from_mem(pkt, 0, len, slot.buf) != 0) + if (odp_packet_copy_from_mem(pkt, 0, len, slot.buf) != 0) goto fail;
pkt_hdr->input = pktio_entry->s.handle; @@ -982,7 +982,7 @@ static int netmap_send(pktio_entry_t *pktio_entry, int index,
for (nb_tx = 0; nb_tx < num; nb_tx++) { pkt = pkt_table[nb_tx]; - pkt_len = _odp_packet_len(pkt); + pkt_len = odp_packet_len(pkt);
if (pkt_len > pkt_nm->mtu) { if (nb_tx == 0) @@ -1000,7 +1000,7 @@ static int netmap_send(pktio_entry_t *pktio_entry, int index,
buf = NETMAP_BUF(ring, ring->slot[slot_id].buf_idx);
- if (_odp_packet_copy_to_mem(pkt, 0, pkt_len, buf)) { + if (odp_packet_copy_to_mem(pkt, 0, pkt_len, buf)) { i = NM_INJECT_RETRIES; break; } diff --git a/platform/linux-generic/pktio/pcap.c b/platform/linux-generic/pktio/pcap.c index 530a1600..f1662930 100644 --- a/platform/linux-generic/pktio/pcap.c +++ b/platform/linux-generic/pktio/pcap.c @@ -250,7 +250,7 @@ static int pcapif_recv_pkt(pktio_entry_t *pktio_entry, int index ODP_UNUSED,
pkt_hdr = packet_hdr(pkt);
- if (_odp_packet_copy_from_mem(pkt, 0, hdr->caplen, data) != 0) { + if (odp_packet_copy_from_mem(pkt, 0, hdr->caplen, data) != 0) { ODP_ERR("failed to copy packet data\n"); break; } @@ -285,7 +285,7 @@ static int _pcapif_dump_pkt(pkt_pcap_t *pcap, odp_packet_t pkt) hdr.len = hdr.caplen; (void)gettimeofday(&hdr.ts, NULL);
- if (_odp_packet_copy_to_mem(pkt, 0, hdr.len, pcap->buf) != 0) + if (odp_packet_copy_to_mem(pkt, 0, hdr.len, pcap->buf) != 0) return -1;
pcap_dump(pcap->tx_dump, &hdr, pcap->buf); diff --git a/platform/linux-generic/pktio/socket_mmap.c b/platform/linux-generic/pktio/socket_mmap.c index 1731e60d..55fb20f4 100644 --- a/platform/linux-generic/pktio/socket_mmap.c +++ b/platform/linux-generic/pktio/socket_mmap.c @@ -245,7 +245,7 @@ static inline unsigned pkt_mmap_v2_rx(pktio_entry_t *pktio_entry, continue; } hdr = packet_hdr(pkt_table[nb_rx]); - ret = _odp_packet_copy_from_mem(pkt_table[nb_rx], 0, + ret = odp_packet_copy_from_mem(pkt_table[nb_rx], 0, pkt_len, pkt_buf); if (ret != 0) { odp_packet_free(pkt_table[nb_rx]); @@ -348,7 +348,7 @@ static inline unsigned pkt_mmap_v2_tx(int sock, struct ring *ring,
buf = (uint8_t *)ppd.raw + TPACKET2_HDRLEN - sizeof(struct sockaddr_ll); - _odp_packet_copy_to_mem(pkt_table[i], 0, pkt_len, buf); + odp_packet_copy_to_mem(pkt_table[i], 0, pkt_len, buf);
mmap_tx_user_ready(ppd.raw);
diff --git a/platform/linux-generic/pktio/tap.c b/platform/linux-generic/pktio/tap.c index d2f5cea1..032a8ecf 100644 --- a/platform/linux-generic/pktio/tap.c +++ b/platform/linux-generic/pktio/tap.c @@ -274,7 +274,7 @@ static odp_packet_t pack_odp_pkt(pktio_entry_t *pktio_entry, const void *data, if (num != 1) return ODP_PACKET_INVALID;
- if (_odp_packet_copy_from_mem(pkt, 0, len, data) < 0) { + if (odp_packet_copy_from_mem(pkt, 0, len, data) < 0) { ODP_ERR("failed to copy packet data\n"); odp_packet_free(pkt); return ODP_PACKET_INVALID; @@ -354,7 +354,7 @@ static int tap_pktio_send_lockless(pktio_entry_t *pktio_entry, break; }
- if (_odp_packet_copy_to_mem(pkts[i], 0, pkt_len, buf) < 0) { + if (odp_packet_copy_to_mem(pkts[i], 0, pkt_len, buf) < 0) { ODP_ERR("failed to copy packet data\n"); break; }
commit a4d31373e5a0f72d028ff73ca9eae0fd6671f350 Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Tue May 15 00:26:21 2018 +0300
linux-gen: thread: remove separate API inlining header
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 373a1b10..033f38a5 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 8cd36bda..d5628a74 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 <odp/api/abi-default/thread.h>
-#define _ODP_INLINE static inline #include <odp/api/plat/thread_inlines.h> -#include <odp/api/plat/thread_inlines_api.h> 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 deecc653..ecab29e5 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 08193e2b..00000000 --- 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 397a054b..dac9ad19 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 d5288969..59374268 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 7f07f6a3..cfce705d 100644 --- a/platform/linux-generic/odp_thread_api.c +++ b/platform/linux-generic/odp_thread_api.c @@ -8,8 +8,7 @@
#include <odp/api/thread.h> #include <odp/api/cpu.h> -#include <odp/api/plat/thread_inlines.h>
/* Include non-inlined versions of API functions */ -#define _ODP_INLINE -#include <odp/api/plat/thread_inlines_api.h> +#define _ODP_NO_INLINE +#include <odp/api/plat/thread_inlines.h>
-----------------------------------------------------------------------
Summary of changes: platform/linux-generic/Makefile.am | 6 +- .../linux-generic/include-abi/odp/api/abi/packet.h | 2 - .../linux-generic/include-abi/odp/api/abi/thread.h | 2 - .../include/odp/api/plat/packet_flag_inlines.h | 1 + .../include/odp/api/plat/packet_inlines.h | 153 ++++++++++------- .../include/odp/api/plat/packet_inlines_api.h | 186 --------------------- .../include/odp/api/plat/pktio_inlines.h | 1 + .../include/odp/api/plat/std_clib_inlines.h | 18 +- .../include/odp/api/plat/sync_inlines.h | 18 +- .../include/odp/api/plat/thread_inlines.h | 16 +- .../include/odp/api/plat/thread_inlines_api.h | 41 ----- .../include/odp/api/plat/ticketlock_inlines.h | 3 + platform/linux-generic/include/odp_ring_internal.h | 1 + platform/linux-generic/odp_barrier.c | 2 + platform/linux-generic/odp_crypto.c | 1 + platform/linux-generic/odp_ipsec_sad.c | 1 + platform/linux-generic/odp_packet.c | 6 +- platform/linux-generic/odp_packet_api.c | 9 +- platform/linux-generic/odp_packet_io.c | 1 + platform/linux-generic/odp_pool.c | 1 + platform/linux-generic/odp_queue_basic.c | 1 + platform/linux-generic/odp_queue_lf.c | 1 + platform/linux-generic/odp_queue_scalable.c | 1 + platform/linux-generic/odp_rwlock.c | 1 + platform/linux-generic/odp_rwlock_recursive.c | 10 +- platform/linux-generic/odp_schedule_basic.c | 1 + platform/linux-generic/odp_schedule_iquery.c | 1 + platform/linux-generic/odp_schedule_scalable.c | 1 + platform/linux-generic/odp_schedule_sp.c | 1 + platform/linux-generic/odp_spinlock_recursive.c | 6 +- .../{odp_std_clib.c => odp_std_clib_api.c} | 2 +- .../linux-generic/{odp_sync.c => odp_sync_api.c} | 2 +- platform/linux-generic/odp_thread_api.c | 5 +- platform/linux-generic/odp_ticketlock_api.c | 1 + platform/linux-generic/odp_traffic_mngr.c | 22 +-- platform/linux-generic/pktio/dpdk.c | 8 +- platform/linux-generic/pktio/netmap.c | 6 +- platform/linux-generic/pktio/pcap.c | 4 +- platform/linux-generic/pktio/socket_mmap.c | 4 +- platform/linux-generic/pktio/tap.c | 4 +- 40 files changed, 201 insertions(+), 350 deletions(-) delete mode 100644 platform/linux-generic/include/odp/api/plat/packet_inlines_api.h delete mode 100644 platform/linux-generic/include/odp/api/plat/thread_inlines_api.h rename platform/linux-generic/{odp_std_clib.c => odp_std_clib_api.c} (92%) rename platform/linux-generic/{odp_sync.c => odp_sync_api.c} (91%)
hooks/post-receive