summaryrefslogtreecommitdiffstats
path: root/mm/slub.c
diff options
context:
space:
mode:
authorChristoph Lameter2007-07-17 13:03:27 +0200
committerLinus Torvalds2007-07-17 19:23:01 +0200
commit7b55f620e6908fec2d51751320c2a9459b5f375f (patch)
tree6fb32a7051b4358018fb26a3125e3b9621418abe /mm/slub.c
parentSLUB: faster more efficient slab determination for __kmalloc (diff)
downloadkernel-qcow2-linux-7b55f620e6908fec2d51751320c2a9459b5f375f.tar.gz
kernel-qcow2-linux-7b55f620e6908fec2d51751320c2a9459b5f375f.tar.xz
kernel-qcow2-linux-7b55f620e6908fec2d51751320c2a9459b5f375f.zip
SLUB: Simplify dma index -> size calculation
There is no need to caculate the dma slab size ourselves. We can simply lookup the size of the corresponding non dma slab. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/slub.c')
-rw-r--r--mm/slub.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 71988f9b9c55..2ae2dae12d9a 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2289,15 +2289,7 @@ static noinline struct kmem_cache *dma_kmalloc_cache(int index, gfp_t flags)
if (!x)
panic("Unable to allocate memory for dma cache\n");
- if (index <= KMALLOC_SHIFT_HIGH)
- realsize = 1 << index;
- else {
- if (index == 1)
- realsize = 96;
- else
- realsize = 192;
- }
-
+ realsize = kmalloc_caches[index].objsize;
text = kasprintf(flags & ~SLUB_DMA, "kmalloc_dma-%d",
(unsigned int)realsize);
s = create_kmalloc_cache(x, text, realsize, flags);