sched: 64-bit nr_running

From: Daniel Walker
Date: Mon May 15 2006 - 11:31:00 EST




There was a conversation over the mtd redboot bug related to unsigned
long vs. unsigned int . On a 64-bit machine unsigned long is 64-bits ,
and unsigned int is 32-bits . However, both are 32-bits on a 32-bit
machine .

Looking over the scheduler I found a few places that use "unsigned long"
for task counting variables (nr_running, nr_active, nr_interruptible) .
The problem is that these variables are all bound to 29 bits (according
to kernel/pid.c) , but they get expanded to 64-bits on 64-bit machines .

I CC'd Steve cause he seems interested in the topic of variable size
issues (bitmaps , unsigned long longs , etc ) .

Daniel

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/