All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cobalt/sched: Use nr_cpumask_bits instead of BITS_PER_LONG
@ 2022-03-14 20:38 Richard Weinberger
  2022-03-14 21:05 ` Bezdeka, Florian
  0 siblings, 1 reply; 7+ messages in thread
From: Richard Weinberger @ 2022-03-14 20:38 UTC (permalink / raw)
  To: xenomai; +Cc: Richard Weinberger

BITS_PER_LONG is too broad, the max number of usable bits is limited
by nr_cpumask_bits.
Found while debugging a system with CONFIG_DEBUG_PER_CPU_MAPS enabled.

Signed-off-by: Richard Weinberger <richard@nod.at>
---
 kernel/cobalt/sched.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/cobalt/sched.c b/kernel/cobalt/sched.c
index 88c4951ed814..aa65fd7f5d63 100644
--- a/kernel/cobalt/sched.c
+++ b/kernel/cobalt/sched.c
@@ -1370,7 +1370,7 @@ static int affinity_vfile_show(struct xnvfile_regular_iterator *it,
 	unsigned long val = 0;
 	int cpu;
 
-	for (cpu = 0; cpu < BITS_PER_LONG; cpu++)
+	for (cpu = 0; cpu < nr_cpumask_bits; cpu++)
 		if (cpumask_test_cpu(cpu, &cobalt_cpu_affinity))
 			val |= (1UL << cpu);
 
@@ -1395,7 +1395,7 @@ static ssize_t affinity_vfile_store(struct xnvfile_input *input)
 		affinity = xnsched_realtime_cpus; /* Reset to default. */
 	else {
 		cpumask_clear(&affinity);
-		for (cpu = 0; cpu < BITS_PER_LONG; cpu++, val >>= 1) {
+		for (cpu = 0; cpu < nr_cpumask_bits; cpu++, val >>= 1) {
 			if (val & 1) {
 				/*
 				 * The new dynamic affinity must be a strict
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-03-15  6:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-14 20:38 [PATCH] cobalt/sched: Use nr_cpumask_bits instead of BITS_PER_LONG Richard Weinberger
2022-03-14 21:05 ` Bezdeka, Florian
2022-03-14 21:10   ` Richard Weinberger
2022-03-14 21:15     ` Bezdeka, Florian
2022-03-14 21:25       ` Richard Weinberger
2022-03-14 21:13   ` Bezdeka, Florian
2022-03-15  6:35     ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.