summaryrefslogtreecommitdiff
path: root/lib/test_workqueue.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2026-04-02 22:59:03 +0200
committerTejun Heo <tj@kernel.org>2026-04-03 07:14:24 -1000
commitc6890f36fc49848c61d2113a3442eb1b59e0bc4b (patch)
tree7b001e2f545aded14218352d2d070e1644289d02 /lib/test_workqueue.c
parent41e3ccca00b374b7f39cf68e818b59a921cd7069 (diff)
workqueue: avoid unguarded 64-bit division
The printk() requires a division that is not allowed on 32-bit architectures: x86_64-linux-ld: lib/test_workqueue.o: in function `test_workqueue_init': test_workqueue.c:(.init.text+0x36f): undefined reference to `__udivdi3' Use div_u64() to print the resulting elapsed microseconds. Fixes: 24b2e73f9700 ("workqueue: add test_workqueue benchmark module") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'lib/test_workqueue.c')
-rw-r--r--lib/test_workqueue.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/test_workqueue.c b/lib/test_workqueue.c
index f2ae1ac4bd93..99e160bd5ad1 100644
--- a/lib/test_workqueue.c
+++ b/lib/test_workqueue.c
@@ -242,7 +242,7 @@ static int __init run_bench(int n_threads, const char *scope, const char *label)
pr_info("test_workqueue: %-16s %llu items/sec\tp50=%llu\tp90=%llu\tp95=%llu ns\n",
label,
- elapsed_us ? total_items * 1000000ULL / elapsed_us : 0,
+ elapsed_us ? div_u64(total_items * 1000000ULL, elapsed_us) : 0,
all_latencies[total_items * 50 / 100],
all_latencies[total_items * 90 / 100],
all_latencies[total_items * 95 / 100]);