aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-dpdk/include/odp/api
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2024-01-05 10:48:28 +0200
committerMatias Elo <matias.elo@nokia.com>2024-01-29 12:53:15 +0200
commit1d7598ec65e335bca2d4e6de49e73062f24c6207 (patch)
treef79e8c7cfe1b5a160a8bf56ad31c5614a0bac585 /platform/linux-dpdk/include/odp/api
parentd49671f07f2ad7db25107036abff5272798aece3 (diff)
Port d2588efa5 "linux-gen: time: change to non-zero startup time"
Port original commit from linux-generic. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Diffstat (limited to 'platform/linux-dpdk/include/odp/api')
-rw-r--r--platform/linux-dpdk/include/odp/api/plat/time_inlines.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/platform/linux-dpdk/include/odp/api/plat/time_inlines.h b/platform/linux-dpdk/include/odp/api/plat/time_inlines.h
index b0d7ed012..f3d2a6947 100644
--- a/platform/linux-dpdk/include/odp/api/plat/time_inlines.h
+++ b/platform/linux-dpdk/include/odp/api/plat/time_inlines.h
@@ -1,5 +1,5 @@
/* Copyright (c) 2018, Linaro Limited
- * Copyright (c) 2020-2023, Nokia
+ * Copyright (c) 2020-2024, Nokia
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
@@ -21,8 +21,9 @@
/** @cond _ODP_HIDE_FROM_DOXYGEN_ */
typedef struct _odp_time_global_t {
- uint64_t start_cycles;
uint64_t freq_hz;
+ uint64_t start_cycles;
+ uint64_t start_ns;
} _odp_time_global_t;
@@ -32,7 +33,7 @@ static inline odp_time_t _odp_time_cur(void)
{
odp_time_t time;
- time.u64 = rte_get_timer_cycles() - _odp_time_glob.start_cycles;
+ time.u64 = rte_get_timer_cycles();
return time;
}
@@ -42,7 +43,7 @@ static inline odp_time_t _odp_time_cur_strict(void)
odp_time_t time;
rte_mb();
- time.u64 = rte_get_timer_cycles() - _odp_time_glob.start_cycles;
+ time.u64 = rte_get_timer_cycles();
return time;
}
@@ -108,7 +109,7 @@ static inline odp_time_t _odp_time_from_ns(uint64_t ns)
#define odp_time_sum __odp_time_sum
#define odp_time_wait_ns __odp_time_wait_ns
#define odp_time_wait_until __odp_time_wait_until
-
+ #define odp_time_startup __odp_time_startup
#else
#define _ODP_INLINE
#endif
@@ -248,6 +249,12 @@ _ODP_INLINE void odp_time_wait_until(odp_time_t time)
_odp_time_wait_until(time);
}
+_ODP_INLINE void odp_time_startup(odp_time_startup_t *startup)
+{
+ startup->global.u64 = _odp_time_glob.start_cycles;
+ startup->global_ns = _odp_time_glob.start_ns;
+}
+
/** @endcond */
#endif