Re: [PATCH] Silly bitmap size accounting fix

From: Nick Piggin
Date: Sat May 13 2006 - 10:55:55 EST


Steven Rostedt wrote:

+/*
+ * 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))



What do you think of the following comment, better?

Cool, thanks.


-- 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:50:44.000000000 -0400
@@ -192,6 +192,13 @@ 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.
+ * BITMAP_SIZE is the minimum number of longs that holds MAX_PRIO+1 bits:
+ * size-in-bytes = ceiling((MAX_PRIO+1) / BITS_PER_BYTE)
+ * size-in-longs = ceiling(size-in-bytes / sizeof(long))
+ */
#define BITMAP_SIZE ((((MAX_PRIO+1+7)/8)+sizeof(long)-1)/sizeof(long))

typedef struct runqueue runqueue_t;



--
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/