* [PATCH] Add new tracepoint function for type time_t
@ 2025-04-29 3:00 changqing.li
2025-04-29 3:04 ` [PATCH V2] " changqing.li
0 siblings, 1 reply; 4+ messages in thread
From: changqing.li @ 2025-04-29 3:00 UTC (permalink / raw)
To: dev; +Cc: changqing.li
From: Changqing Li <changqing.li@windriver.com>
To support Y2038 issue, for 32bit system, -D_TIME_BITS=64 is passed to
gcc, struct timespec time->tv_sec is 64bit, but size_t is 32bits, so
dpdk will compile failed with error:
../git/lib/ethdev/ethdev_trace.h: In function 'rte_eth_trace_timesync_write_time':
../git/lib/eal/include/rte_common.h:498:55: error: size of unnamed array is negative
498 | #define RTE_BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
Add a new tracepoint function for type time_t to fix this issue
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
lib/eal/include/rte_trace_point.h | 4 ++++
lib/ethdev/ethdev_trace.h | 8 ++++----
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/eal/include/rte_trace_point.h b/lib/eal/include/rte_trace_point.h
index 8a317d31d2..6aac4d0191 100644
--- a/lib/eal/include/rte_trace_point.h
+++ b/lib/eal/include/rte_trace_point.h
@@ -150,6 +150,8 @@ _tp _args \
#define rte_trace_point_emit_ptr(val)
/** Tracepoint function payload for string datatype */
#define rte_trace_point_emit_string(val)
+/** Tracepoint function payload for time_t datatype */
+ #define rte_trace_point_emit_time_t(val)
/**
* Tracepoint function to capture a blob.
*
@@ -438,6 +440,7 @@ do { \
#define rte_trace_point_emit_float(in) __rte_trace_point_emit(RTE_STR(in), &in, float)
#define rte_trace_point_emit_double(in) __rte_trace_point_emit(RTE_STR(in), &in, double)
#define rte_trace_point_emit_ptr(in) __rte_trace_point_emit(RTE_STR(in), &in, uintptr_t)
+#define rte_trace_point_emit_time_t(in) __rte_trace_point_emit(RTE_STR(in), &in, time_t)
#define rte_trace_point_emit_u64_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, uint64_t)
#define rte_trace_point_emit_i64_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, int64_t)
@@ -452,6 +455,7 @@ do { \
#define rte_trace_point_emit_size_t_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, size_t)
#define rte_trace_point_emit_float_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, float)
#define rte_trace_point_emit_double_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, double)
+#define rte_trace_point_emit_time_t_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, time_t)
#endif /* __DOXYGEN__ */
diff --git a/lib/ethdev/ethdev_trace.h b/lib/ethdev/ethdev_trace.h
index c65b78590a..482befc209 100644
--- a/lib/ethdev/ethdev_trace.h
+++ b/lib/ethdev/ethdev_trace.h
@@ -1121,7 +1121,7 @@ RTE_TRACE_POINT(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(time->tv_sec);
+ rte_trace_point_emit_time_t(time->tv_sec);
rte_trace_point_emit_long(time->tv_nsec);
rte_trace_point_emit_int(ret);
)
@@ -2151,7 +2151,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
uint32_t flags, int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(timestamp->tv_sec);
+ rte_trace_point_emit_time_t(timestamp->tv_sec);
rte_trace_point_emit_long(timestamp->tv_nsec);
rte_trace_point_emit_u32(flags);
rte_trace_point_emit_int(ret);
@@ -2163,7 +2163,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(timestamp->tv_sec);
+ rte_trace_point_emit_time_t(timestamp->tv_sec);
rte_trace_point_emit_long(timestamp->tv_nsec);
rte_trace_point_emit_int(ret);
)
@@ -2174,7 +2174,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(time->tv_sec);
+ rte_trace_point_emit_time_t(time->tv_sec);
rte_trace_point_emit_long(time->tv_nsec);
rte_trace_point_emit_int(ret);
)
--
2.34.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH V2] Add new tracepoint function for type time_t
2025-04-29 3:00 [PATCH] Add new tracepoint function for type time_t changqing.li
@ 2025-04-29 3:04 ` changqing.li
2025-04-30 1:34 ` [PATCH V3] " changqing.li
0 siblings, 1 reply; 4+ messages in thread
From: changqing.li @ 2025-04-29 3:04 UTC (permalink / raw)
To: dev; +Cc: changqing.li
From: Changqing Li <changqing.li@windriver.com>
To support Y2038 issue, for 32bit system, -D_TIME_BITS=64 is passed to
gcc, struct timespec time->tv_sec is 64bit, but size_t is 32bits, so
dpdk will compile failed with error:
../git/lib/ethdev/ethdev_trace.h: In function 'rte_eth_trace_timesync_write_time':
../git/lib/eal/include/rte_common.h:498:55: error: size of unnamed array is negative
498 | #define RTE_BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
Add a new tracepoint function for type time_t to fix this issue
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
lib/eal/include/rte_trace_point.h | 4 ++++
lib/ethdev/ethdev_trace.h | 8 ++++----
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/eal/include/rte_trace_point.h b/lib/eal/include/rte_trace_point.h
index 8a317d31d2..6aac4d0191 100644
--- a/lib/eal/include/rte_trace_point.h
+++ b/lib/eal/include/rte_trace_point.h
@@ -150,6 +150,8 @@ _tp _args \
#define rte_trace_point_emit_ptr(val)
/** Tracepoint function payload for string datatype */
#define rte_trace_point_emit_string(val)
+/** Tracepoint function payload for time_t datatype */
+ #define rte_trace_point_emit_time_t(val)
/**
* Tracepoint function to capture a blob.
*
@@ -438,6 +440,7 @@ do { \
#define rte_trace_point_emit_float(in) __rte_trace_point_emit(RTE_STR(in), &in, float)
#define rte_trace_point_emit_double(in) __rte_trace_point_emit(RTE_STR(in), &in, double)
#define rte_trace_point_emit_ptr(in) __rte_trace_point_emit(RTE_STR(in), &in, uintptr_t)
+#define rte_trace_point_emit_time_t(in) __rte_trace_point_emit(RTE_STR(in), &in, time_t)
#define rte_trace_point_emit_u64_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, uint64_t)
#define rte_trace_point_emit_i64_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, int64_t)
@@ -452,6 +455,7 @@ do { \
#define rte_trace_point_emit_size_t_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, size_t)
#define rte_trace_point_emit_float_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, float)
#define rte_trace_point_emit_double_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, double)
+#define rte_trace_point_emit_time_t_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, time_t)
#endif /* __DOXYGEN__ */
diff --git a/lib/ethdev/ethdev_trace.h b/lib/ethdev/ethdev_trace.h
index c65b78590a..482befc209 100644
--- a/lib/ethdev/ethdev_trace.h
+++ b/lib/ethdev/ethdev_trace.h
@@ -1121,7 +1121,7 @@ RTE_TRACE_POINT(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(time->tv_sec);
+ rte_trace_point_emit_time_t(time->tv_sec);
rte_trace_point_emit_long(time->tv_nsec);
rte_trace_point_emit_int(ret);
)
@@ -2151,7 +2151,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
uint32_t flags, int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(timestamp->tv_sec);
+ rte_trace_point_emit_time_t(timestamp->tv_sec);
rte_trace_point_emit_long(timestamp->tv_nsec);
rte_trace_point_emit_u32(flags);
rte_trace_point_emit_int(ret);
@@ -2163,7 +2163,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(timestamp->tv_sec);
+ rte_trace_point_emit_time_t(timestamp->tv_sec);
rte_trace_point_emit_long(timestamp->tv_nsec);
rte_trace_point_emit_int(ret);
)
@@ -2174,7 +2174,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(time->tv_sec);
+ rte_trace_point_emit_time_t(time->tv_sec);
rte_trace_point_emit_long(time->tv_nsec);
rte_trace_point_emit_int(ret);
)
--
2.34.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH V3] Add new tracepoint function for type time_t
2025-04-29 3:04 ` [PATCH V2] " changqing.li
@ 2025-04-30 1:34 ` changqing.li
[not found] ` <20250430024403.2690306-1-robot@bytheb.org>
0 siblings, 1 reply; 4+ messages in thread
From: changqing.li @ 2025-04-30 1:34 UTC (permalink / raw)
To: dev
From: Changqing Li <changqing.li@windriver.com>
To support Y2038 issue, for 32bit system, -D_TIME_BITS=64 is passed to
gcc, struct timespec time->tv_sec is 64bit, but size_t is 32bits, so
dpdk will compile failed with error:
"../git/lib/ethdev/ethdev_trace.h: In function
'rte_eth_trace_timesync_write_time':
../git/lib/eal/include/rte_common.h:498:55: error: size of unnamed array
is negative
498 | #define RTE_BUILD_BUG_ON(condition) ((void)sizeof(char[1 -
2*!!(condition)]))"
Add a new tracepoint function for type time_t to fix this issue
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
lib/eal/include/rte_trace_point.h | 5 +++++
lib/ethdev/ethdev_trace.h | 8 ++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/lib/eal/include/rte_trace_point.h b/lib/eal/include/rte_trace_point.h
index 8a317d31d2..d6bacf1752 100644
--- a/lib/eal/include/rte_trace_point.h
+++ b/lib/eal/include/rte_trace_point.h
@@ -18,6 +18,7 @@
#include <stdbool.h>
#include <stdio.h>
+#include <time.h>
#include <rte_branch_prediction.h>
#include <rte_common.h>
@@ -150,6 +151,8 @@ _tp _args \
#define rte_trace_point_emit_ptr(val)
/** Tracepoint function payload for string datatype */
#define rte_trace_point_emit_string(val)
+/** Tracepoint function payload for time_t datatype */
+#define rte_trace_point_emit_time_t(val)
/**
* Tracepoint function to capture a blob.
*
@@ -438,6 +441,7 @@ do { \
#define rte_trace_point_emit_float(in) __rte_trace_point_emit(RTE_STR(in), &in, float)
#define rte_trace_point_emit_double(in) __rte_trace_point_emit(RTE_STR(in), &in, double)
#define rte_trace_point_emit_ptr(in) __rte_trace_point_emit(RTE_STR(in), &in, uintptr_t)
+#define rte_trace_point_emit_time_t(in) __rte_trace_point_emit(RTE_STR(in), &in, time_t)
#define rte_trace_point_emit_u64_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, uint64_t)
#define rte_trace_point_emit_i64_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, int64_t)
@@ -452,6 +456,7 @@ do { \
#define rte_trace_point_emit_size_t_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, size_t)
#define rte_trace_point_emit_float_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, float)
#define rte_trace_point_emit_double_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, double)
+#define rte_trace_point_emit_time_t_ptr(in) __rte_trace_point_emit(RTE_STR(in)"_val", in, time_t)
#endif /* __DOXYGEN__ */
diff --git a/lib/ethdev/ethdev_trace.h b/lib/ethdev/ethdev_trace.h
index c65b78590a..482befc209 100644
--- a/lib/ethdev/ethdev_trace.h
+++ b/lib/ethdev/ethdev_trace.h
@@ -1121,7 +1121,7 @@ RTE_TRACE_POINT(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(time->tv_sec);
+ rte_trace_point_emit_time_t(time->tv_sec);
rte_trace_point_emit_long(time->tv_nsec);
rte_trace_point_emit_int(ret);
)
@@ -2151,7 +2151,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
uint32_t flags, int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(timestamp->tv_sec);
+ rte_trace_point_emit_time_t(timestamp->tv_sec);
rte_trace_point_emit_long(timestamp->tv_nsec);
rte_trace_point_emit_u32(flags);
rte_trace_point_emit_int(ret);
@@ -2163,7 +2163,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(timestamp->tv_sec);
+ rte_trace_point_emit_time_t(timestamp->tv_sec);
rte_trace_point_emit_long(timestamp->tv_nsec);
rte_trace_point_emit_int(ret);
)
@@ -2174,7 +2174,7 @@ RTE_TRACE_POINT_FP(
RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
int ret),
rte_trace_point_emit_u16(port_id);
- rte_trace_point_emit_size_t(time->tv_sec);
+ rte_trace_point_emit_time_t(time->tv_sec);
rte_trace_point_emit_long(time->tv_nsec);
rte_trace_point_emit_int(ret);
)
--
2.44.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: |FAILURE| pw153190 [PATCH V3] Add new tracepoint function for type time_t
[not found] ` <20250430024403.2690306-1-robot@bytheb.org>
@ 2025-04-30 5:21 ` Changqing Li
0 siblings, 0 replies; 4+ messages in thread
From: Changqing Li @ 2025-04-30 5:21 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, thomas
[-- Attachment #1: Type: text/plain, Size: 5079 bytes --]
Hi,
I'm new to this project, and have no clue about the failure, could
experts at this project provide
some help about the following failure?
+ sudo babeltrace
/home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21
Error: at line 2819: token "time_t": syntax error, unexpected IDENTIFIER
Error: Error creating AST
Thanks
Changqing
On 4/30/25 10:44, 0-day Robot wrote:
> From:robot@bytheb.org
>
> Test-Label: github-robot: build
> Test-Status: FAILURE
> http://patchwork.dpdk.org/patch/153190/
>
> _github build: failed_
> Build URL:https://github.com/ovsrobot/dpdk/actions/runs/14744930390
> Build Logs:
> -----------------------Summary of failed steps-----------------------
> "ubuntu-22.04-clang-asan+doc+tests" failed at step Build and test
> "ubuntu-22.04-gcc-abi+debug+doc+examples+tests" failed at step Build and test
> ----------------------End summary of failed steps--------------------
>
> -------------------------------BEGIN LOGS----------------------------
> ####################################################################################
> #### [Begin job log] "ubuntu-22.04-clang-asan+doc+tests" at step Build and test
> ####################################################################################
>
> Full log written to /home/runner/work/dpdk/dpdk/build/meson-logs/testlog.txt
> + catch_coredump
> + ls /tmp/dpdk-core.*.*
> + return 0
> + check_traces
> + which babeltrace
> + sudo find /home/runner -name metadata
> + dirname /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46/metadata
> + sudo babeltrace /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46
> + dirname /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46/metadata
> + sudo babeltrace /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46
> [error] at line 2819: token "time_t": syntax error, unexpected IDENTIFIER
>
> [error] Error creating AST
> [warning] Unable to open trace metadata for path "/home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46".
> [warning] [Context] Cannot open_trace of format ctf at path /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46.
> [warning] [Context] cannot open trace "/home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46" from /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46 for reading.
> [error] Cannot open any trace for reading.
>
> [error] opening trace "/home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-20-46" for reading.
>
> [error] none of the specified trace paths could be opened.
>
> ##[error]Process completed with exit code 1.
> ####################################################################################
> #### [End job log] "ubuntu-22.04-clang-asan+doc+tests" at step Build and test
> ####################################################################################
>
>
>
>
> ####################################################################################
> #### [Begin job log] "ubuntu-22.04-gcc-abi+debug+doc+examples+tests" at step Build and test
> ####################################################################################
>
> Full log written to /home/runner/work/dpdk/dpdk/build/meson-logs/testlog.txt
> + catch_coredump
> + ls /tmp/dpdk-core.*.*
> + return 0
> + check_traces
> + which babeltrace
> + sudo find /home/runner -name metadata
> + dirname /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21/metadata
> + sudo babeltrace /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21
> + dirname /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21/metadata
> + sudo babeltrace /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21
> [error] at line 2819: token "time_t": syntax error, unexpected IDENTIFIER
>
> [error] Error creating AST
> [warning] Unable to open trace metadata for path "/home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21".
> [warning] [Context] Cannot open_trace of format ctf at path /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21.
> [warning] [Context] cannot open trace "/home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21" from /home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21 for reading.
> [error] Cannot open any trace for reading.
>
> [error] opening trace "/home/runner/work/dpdk/dpdk/build/app/test/suites/rte-2025-04-30-AM-02-25-21" for reading.
>
> [error] none of the specified trace paths could be opened.
>
> ##[error]Process completed with exit code 1.
> ####################################################################################
> #### [End job log] "ubuntu-22.04-gcc-abi+debug+doc+examples+tests" at step Build and test
> ####################################################################################
> --------------------------------END LOGS-----------------------------
[-- Attachment #2: Type: text/html, Size: 7196 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-04-30 5:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-29 3:00 [PATCH] Add new tracepoint function for type time_t changqing.li
2025-04-29 3:04 ` [PATCH V2] " changqing.li
2025-04-30 1:34 ` [PATCH V3] " changqing.li
[not found] ` <20250430024403.2690306-1-robot@bytheb.org>
2025-04-30 5:21 ` |FAILURE| pw153190 " Changqing Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).