[PATCH] selftests/mqueue: fix timespec printf format specifiers
From: zhangchujun
Date: Wed Nov 04 2026 - 02:49:55 EST
The tv_nsec members of struct timespec are signed long values on
the target Linux ABI, but mq_perf_tests.c prints them using %lu.
Use %ld to match the argument type when printing the clock
resolution and the TEST1 and TEST2 timing summaries.
Signed-off-by: zhangchujun <zhangchujun@xxxxxxxxxxxxxxxxxxxx>
diff --git a/tools/testing/selftests/mqueue/mq_perf_tests.c b/tools/testing/selftests/mqueue/mq_perf_tests.c
index 303c46eebd94..b87dac20cab4 100644
--- a/tools/testing/selftests/mqueue/mq_perf_tests.c
+++ b/tools/testing/selftests/mqueue/mq_perf_tests.c
@@ -448,7 +448,7 @@ void *perf_test_thread(void *arg)
shutdown(2, "clock_getres()", __LINE__);
printf("\t\tMax priorities:\t\t\t%d\n", mq_prio_max);
- printf("\t\tClock resolution:\t\t%lu nsec%s\n", res.tv_nsec,
+ printf("\t\tClock resolution:\t\t%ld nsec%s\n", res.tv_nsec,
res.tv_nsec > 1 ? "s" : "");
@@ -462,12 +462,12 @@ void *perf_test_thread(void *arg)
recv_total.tv_nsec = 0;
for (i = 0; i < TEST1_LOOPS; i++)
do_send_recv();
- printf("\t\tSend msg:\t\t\t%ld.%lus total time\n",
+ printf("\t\tSend msg:\t\t\t%ld.%lds total time\n",
send_total.tv_sec, send_total.tv_nsec);
nsec = ((unsigned long long)send_total.tv_sec * 1000000000 +
send_total.tv_nsec) / TEST1_LOOPS;
printf("\t\t\t\t\t\t%lld nsec/msg\n", nsec);
- printf("\t\tRecv msg:\t\t\t%ld.%lus total time\n",
+ printf("\t\tRecv msg:\t\t\t%ld.%lds total time\n",
recv_total.tv_sec, recv_total.tv_nsec);
nsec = ((unsigned long long)recv_total.tv_sec * 1000000000 +
recv_total.tv_nsec) / TEST1_LOOPS;
@@ -501,12 +501,12 @@ void *perf_test_thread(void *arg)
cur_test->func(&prio_out);
}
printf("done.\n");
- printf("\t\tSend msg:\t\t\t%ld.%lus total time\n",
+ printf("\t\tSend msg:\t\t\t%ld.%lds total time\n",
send_total.tv_sec, send_total.tv_nsec);
nsec = ((unsigned long long)send_total.tv_sec * 1000000000 +
send_total.tv_nsec) / TEST2_LOOPS;
printf("\t\t\t\t\t\t%lld nsec/msg\n", nsec);
- printf("\t\tRecv msg:\t\t\t%ld.%lus total time\n",
+ printf("\t\tRecv msg:\t\t\t%ld.%lds total time\n",
recv_total.tv_sec, recv_total.tv_nsec);
nsec = ((unsigned long long)recv_total.tv_sec * 1000000000 +
recv_total.tv_nsec) / TEST2_LOOPS;
--
2.50.1.windows.1