summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@gmail.com>2010-09-16 01:30:19 +0900
committerJiri Kosina <jkosina@suse.cz>2010-09-23 13:52:38 +0200
commited9f524ac79457f0c547c85746b19b92526be612 (patch)
tree9cc0900a65c3361faa5b25a4a7415ca6b415c40a /include
parent72b43570f304634532b4d66c991eef529135f68c (diff)
downloadlinux-ed9f524ac79457f0c547c85746b19b92526be612.tar.gz
ida: document IDA_BITMAP_LONGS calculation
IDA_BITMAP_LONGS value is calculated take into account struct ida_bitmap
not to waste memory space. Comment it.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include')
-rw-r--r--include/linux/idr.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/idr.h b/include/linux/idr.h
index e968db71e33a..88607523e2df 100644
--- a/include/linux/idr.h
+++ b/include/linux/idr.h
@@ -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;