]> git.baikalelectronics.ru Git - kernel.git/commit
idr: make idr_layer larger
authorTejun Heo <tj@kernel.org>
Thu, 28 Feb 2013 01:05:06 +0000 (17:05 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 28 Feb 2013 03:10:20 +0000 (19:10 -0800)
commit4622de90d3a034bc9984baa0c9a3a0c760935813
tree129480e1dd2b1e8d4129239ec508f7927f4d4b5a
parentf5c35daee14ac670d27800acb8b567030a38a6f8
idr: make idr_layer larger

With recent preloading changes, idr no longer keeps full layer cache per
each idr instance (used to be ~6.5k per idr on 64bit) and the previous
patch removed restriction on the bitmap size.  Both now allow us to have
larger layers.

Increase IDR_BITS to 8 regardless of BITS_PER_LONG.  Each layer is
slightly larger than 2k on 64bit and 1k on 32bit and carries 256 entries.
The size isn't too large, especially compared to what we used to waste on
per-idr caches, and 256 entries should be able to serve most use cases
with single layer.  The max tree depth is 4 which is much better than the
previous 6 on 64bit and 7 on 32bit.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/idr.h