summaryrefslogtreecommitdiff
path: root/fs/bio.c
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2007-05-06 14:49:57 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-07 12:12:55 -0700
commit0a31bd5f2bbb6473ef9d24f0063ca91cfa678b64 (patch)
treea945e829bf6bf7a93bf844b2ee9f2a3a2fa17c5d /fs/bio.c
parent5af60839909b8e3b28ca7cd7912fa0b23475617f (diff)
downloadlwn-0a31bd5f2bbb6473ef9d24f0063ca91cfa678b64.tar.gz
lwn-0a31bd5f2bbb6473ef9d24f0063ca91cfa678b64.zip
KMEM_CACHE(): simplify slab cache creation
This patch provides a new macro KMEM_CACHE(<struct>, <flags>) to simplify slab creation. KMEM_CACHE creates a slab with the name of the struct, with the size of the struct and with the alignment of the struct. Additional slab flags may be specified if necessary. Example struct test_slab { int a,b,c; struct list_head; } __cacheline_aligned_in_smp; test_slab_cache = KMEM_CACHE(test_slab, SLAB_PANIC) will create a new slab named "test_slab" of the size sizeof(struct test_slab) and aligned to the alignment of test slab. If it fails then we panic. 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 'fs/bio.c')
-rw-r--r--fs/bio.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/bio.c b/fs/bio.c
index 693940da4090..093345f00128 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -1193,8 +1193,7 @@ static void __init biovec_init_slabs(void)
static int __init init_bio(void)
{
- bio_slab = kmem_cache_create("bio", sizeof(struct bio), 0,
- SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL);
+ bio_slab = KMEM_CACHE(bio, SLAB_HWCACHE_ALIGN|SLAB_PANIC);
biovec_init_slabs();