2022-06-27 16:06:17

by Max Filippov

[permalink] [raw]
Subject: [PATCH] drivers/ntb/test: avoid 64-bit modulus operation

Redefine RESCHEDULE_RATIO to a closest power of 2 so that the following
code in the perf_run_latency

/* Avoid processor soft lock-ups */
if (!(pthr->tries % RESCHEDULE_RATIO))
schedule();

doesn't do 64-bit modulus operation.
This fixes the following build failures on 32-bit architectures visible
in linux-next:

ERROR: modpost: "__umoddi3" [drivers/ntb/test/ntb_perf.ko] undefined!

Fixes: dc150dfb081f ("ntb_perf: extend with burst latency measurement")
Signed-off-by: Max Filippov <[email protected]>
---
drivers/ntb/test/ntb_perf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ntb/test/ntb_perf.c b/drivers/ntb/test/ntb_perf.c
index 23e154bd41b9..536fab0030f3 100644
--- a/drivers/ntb/test/ntb_perf.c
+++ b/drivers/ntb/test/ntb_perf.c
@@ -126,7 +126,7 @@ MODULE_DESCRIPTION("PCIe NTB Performance Measurement Tool");
#define PERF_BUF_LEN 1024

#define LAT_MIN_TRIES 20
-#define RESCHEDULE_RATIO 10000
+#define RESCHEDULE_RATIO 8192 /* power of 2, to avoid actual division */

static unsigned long max_mw_size;
module_param(max_mw_size, ulong, 0644);
--
2.30.2