summaryrefslogtreecommitdiff
path: root/include/linux/idr.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-12-02 22:09:50 +0300
committerIngo Molnar <mingo@elte.hu>2008-12-02 22:09:50 +0300
commita64d31baed104be25305e9c71585d3ea4ee9a418 (patch)
tree470e3c59ef39f38bcd69f8fef7dba8f76afbec53 /include/linux/idr.h
parent1c39194878c09bd88ffc9c9d4c2f01c3397c7aed (diff)
parent061e41fdb5047b1fb161e89664057835935ca1d2 (diff)
downloadlinux-a64d31baed104be25305e9c71585d3ea4ee9a418.tar.xz
Merge branch 'linus' into cpus4096
Conflicts: kernel/trace/ring_buffer.c
Diffstat (limited to 'include/linux/idr.h')
-rw-r--r--include/linux/idr.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/idr.h b/include/linux/idr.h
index fa035f96f2a3..dd846df8cd32 100644
--- a/include/linux/idr.h
+++ b/include/linux/idr.h
@@ -52,13 +52,14 @@ struct idr_layer {
unsigned long bitmap; /* A zero bit means "space here" */
struct idr_layer *ary[1<<IDR_BITS];
int count; /* When zero, we can release it */
+ int layer; /* distance from leaf */
struct rcu_head rcu_head;
};
struct idr {
struct idr_layer *top;
struct idr_layer *id_free;
- int layers;
+ int layers; /* only valid without concurrent changes */
int id_free_cnt;
spinlock_t lock;
};