On Sat, 13 May 2006, Nick Piggin wrote:
Ingo Molnar wrote:
* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
-#define BITMAP_SIZE ((((MAX_PRIO+1+7)/8)+sizeof(long)-1)/sizeof(long))
+#define BITMAP_SIZE ((((MAX_PRIO+7)/8)+sizeof(long)-1)/sizeof(long))
Acked-by: Ingo Molnar <mingo@xxxxxxx>
Really?! What about the delimiter bit set at MAX_PRIO?
// delimiter for bitsearch
__set_bit(MAX_PRIO, array->bitmap);
Ah! I see what you mean. New patch (add a comment).
-- Steve
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Index: linux-2.6.17-rc3-mm1/kernel/sched.c
===================================================================
--- linux-2.6.17-rc3-mm1.orig/kernel/sched.c 2006-05-12 04:02:32.000000000 -0400
+++ linux-2.6.17-rc3-mm1/kernel/sched.c 2006-05-13 10:09:15.000000000 -0400
@@ -192,6 +192,10 @@ static inline unsigned int task_timeslic
* These are the runqueue data structures:
*/
+/*
+ * Calculate BITMAP_SIZE.
+ * The bitmask holds MAX_PRIO bits + 1 for the delimiter.
+ */
#define BITMAP_SIZE ((((MAX_PRIO+1+7)/8)+sizeof(long)-1)/sizeof(long))