[kvm-unit-tests PATCH] Changed cpumask_next to wrap instead of terminating after nr_cpus.

Cade Richard cade.richard at gmail.com
Sun Aug 25 22:40:38 PDT 2024


Changed cpumask_next() to wrap instead of terminating after nr_cpus.

Signed-off-by: Cade Richard <cade.richard at berkeley.edu>
---
 lib/cpumask.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/cpumask.h b/lib/cpumask.h
index be191923..5105c3bd 100644
--- a/lib/cpumask.h
+++ b/lib/cpumask.h
@@ -109,8 +109,10 @@ static inline void cpumask_copy(cpumask_t *dst, const cpumask_t *src)
 
 static inline int cpumask_next(int cpu, const cpumask_t *mask)
 {
-	while (++cpu < nr_cpus && !cpumask_test_cpu(cpu, mask))
-		;
+	do {
+		if (++cpu > nr_cpus)
+			cpu = 0;
+	} while (!cpumask_test_cpu(cpu, mask));
 	return cpu;
 }
 
-- 
2.43.0




More information about the kvm-riscv mailing list