diff options
Diffstat (limited to 'include/linux/idr.h')
-rw-r--r-- | include/linux/idr.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/idr.h b/include/linux/idr.h index cdb715e58e3e..13a801f3d028 100644 --- a/include/linux/idr.h +++ b/include/linux/idr.h | |||
@@ -81,6 +81,7 @@ struct idr { | |||
81 | #define _idr_rc_to_errno(rc) ((rc) == -1 ? -EAGAIN : -ENOSPC) | 81 | #define _idr_rc_to_errno(rc) ((rc) == -1 ? -EAGAIN : -ENOSPC) |
82 | 82 | ||
83 | /** | 83 | /** |
84 | * DOC: idr sync | ||
84 | * idr synchronization (stolen from radix-tree.h) | 85 | * idr synchronization (stolen from radix-tree.h) |
85 | * | 86 | * |
86 | * idr_find() is able to be called locklessly, using RCU. The caller must | 87 | * idr_find() is able to be called locklessly, using RCU. The caller must |
@@ -117,10 +118,13 @@ void idr_init(struct idr *idp); | |||
117 | /* | 118 | /* |
118 | * IDA - IDR based id allocator, use when translation from id to | 119 | * IDA - IDR based id allocator, use when translation from id to |
119 | * pointer isn't necessary. | 120 | * pointer isn't necessary. |
121 | * | ||
122 | * IDA_BITMAP_LONGS is calculated to be one less to accommodate | ||
123 | * ida_bitmap->nr_busy so that the whole struct fits in 128 bytes. | ||
120 | */ | 124 | */ |
121 | #define IDA_CHUNK_SIZE 128 /* 128 bytes per chunk */ | 125 | #define IDA_CHUNK_SIZE 128 /* 128 bytes per chunk */ |
122 | #define IDA_BITMAP_LONGS (128 / sizeof(long) - 1) | 126 | #define IDA_BITMAP_LONGS (IDA_CHUNK_SIZE / sizeof(long) - 1) |
123 | #define IDA_BITMAP_BITS (IDA_BITMAP_LONGS * sizeof(long) * 8) | 127 | #define IDA_BITMAP_BITS (IDA_BITMAP_LONGS * sizeof(long) * 8) |
124 | 128 | ||
125 | struct ida_bitmap { | 129 | struct ida_bitmap { |
126 | long nr_busy; | 130 | long nr_busy; |