diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2008-12-05 10:10:29 -0500 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-03-24 07:35:16 -0400 |
commit | a7fcd37cdcb47806fb8a9070f006ee34061defa6 (patch) | |
tree | 3a983ae22551ce8d0aa062d84d8165df862811fa /fs/bio.c | |
parent | 34053979fb1d923217685cf166349f1899980581 (diff) |
block: don't create bio_vec slabs of less than the inline number
If we don't have CONFIG_BLK_DEV_INTEGRITY set, then we don't have
any external dependencies on the bio_vec slabs. So don't create
the ones that we will inline anyway.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'fs/bio.c')
-rw-r--r-- | fs/bio.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1589,6 +1589,13 @@ static void __init biovec_init_slabs(void) | |||
1589 | int size; | 1589 | int size; |
1590 | struct biovec_slab *bvs = bvec_slabs + i; | 1590 | struct biovec_slab *bvs = bvec_slabs + i; |
1591 | 1591 | ||
1592 | #ifndef CONFIG_BLK_DEV_INTEGRITY | ||
1593 | if (bvs->nr_vecs <= BIO_INLINE_VECS) { | ||
1594 | bvs->slab = NULL; | ||
1595 | continue; | ||
1596 | } | ||
1597 | #endif | ||
1598 | |||
1592 | size = bvs->nr_vecs * sizeof(struct bio_vec); | 1599 | size = bvs->nr_vecs * sizeof(struct bio_vec); |
1593 | bvs->slab = kmem_cache_create(bvs->name, size, 0, | 1600 | bvs->slab = kmem_cache_create(bvs->name, size, 0, |
1594 | SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL); | 1601 | SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL); |