Re: [PATCH] Silly bitmap size accounting fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Steven Rostedt wrote:
On Sat, 13 May 2006, Nick Piggin wrote:


Ingo Molnar wrote:

* Steven Rostedt <[email protected]> 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 <[email protected]>

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).

That would have caused someone a world of pain 3 years ahead ;)


-- Steve

Signed-off-by: Steven Rostedt <[email protected]>

OK I guess. Does it help to also spell out exactly what's going on there?


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.

+ * Calculation is to find the minimum number of longs that holds MAX_PRIO+1 bits:
+ *  size-in-chars = ceiling((MAX_PRIO+1) / CHAR_BITS)
+ *  size-in-longs = ceiling(size-in-chars / sizeof(long))

+ */
 #define BITMAP_SIZE ((((MAX_PRIO+1+7)/8)+sizeof(long)-1)/sizeof(long))


--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux