diff mbox series

rslib: Add scheduling points during the test

Message ID 20250510013515.69636-1-ryotkkr98@gmail.com
State New
Headers show
Series rslib: Add scheduling points during the test | expand

Commit Message

Ryo Takakura May 10, 2025, 1:35 a.m. UTC
The test has been prone to softlockup but stayed unnoticed because
of the printk calls during the test resets the soflockup watchdog by
calling touch_nmi_watchdog(). With the commit b63e6f60eab4 ("serial:
8250: Switch to nbcon console"), the printk calls no longer suppress
the softlockup and warnings can be observed more evidently that shows
the test needs more scheduling points.

Provide scheduling points by adding cond_resched() for each test
iteration on their up to/beyond error correction capacity.

Signed-off-by: Ryo Takakura <ryotkkr98@gmail.com>
---

Hi!

The discussion on how the printk was preventing
the softlockup can be found here [0].

Sincerely,
Ryo Takakura

[0] https://lore.kernel.org/all/202501221029.fb0d574d-lkp@intel.com/
---
 lib/reed_solomon/test_rslib.c | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/lib/reed_solomon/test_rslib.c b/lib/reed_solomon/test_rslib.c
index 75cb1adac..322d7b0a8 100644
--- a/lib/reed_solomon/test_rslib.c
+++ b/lib/reed_solomon/test_rslib.c
@@ -306,6 +306,8 @@  static void test_uc(struct rs_control *rs, int len, int errs,
 
 		if (memcmp(r, c, len * sizeof(*r)))
 			stat->dwrong++;
+
+		cond_resched();
 	}
 	stat->nwords += trials;
 }
@@ -400,6 +402,8 @@  static void test_bc(struct rs_control *rs, int len, int errs,
 		} else {
 			stat->rfail++;
 		}
+
+		cond_resched();
 	}
 	stat->nwords += trials;
 }