|
@@ -117,10 +117,13 @@ void idr_init(struct idr *idp);
|
|
|
/*
|
|
|
* IDA - IDR based id allocator, use when translation from id to
|
|
|
* pointer isn't necessary.
|
|
|
+ *
|
|
|
+ * IDA_BITMAP_LONGS is calculated to be one less to accommodate
|
|
|
+ * ida_bitmap->nr_busy so that the whole struct fits in 128 bytes.
|
|
|
*/
|
|
|
#define IDA_CHUNK_SIZE 128 /* 128 bytes per chunk */
|
|
|
-#define IDA_BITMAP_LONGS (128 / sizeof(long) - 1)
|
|
|
-#define IDA_BITMAP_BITS (IDA_BITMAP_LONGS * sizeof(long) * 8)
|
|
|
+#define IDA_BITMAP_LONGS (IDA_CHUNK_SIZE / sizeof(long) - 1)
|
|
|
+#define IDA_BITMAP_BITS (IDA_BITMAP_LONGS * sizeof(long) * 8)
|
|
|
|
|
|
struct ida_bitmap {
|
|
|
long nr_busy;
|