aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2007-04-02 04:06:42 -0400
committerJens Axboe <axboe@nelson.home.kernel.dk>2007-04-30 03:08:17 -0400
commit5972511b77809cb7c9ccdb79b825c54921c5c546 (patch)
tree8dec5821badf9750be04f339f0f621fab2114c8a /drivers
parentb9099ff63c75216d6ca10bce5a1abcd9293c27e6 (diff)
[BLOCK] Don't pin lots of memory in mempools
Currently we scale the mempool sizes depending on memory installed in the machine, except for the bio pool itself which sits at a fixed 256 entry pre-allocation. There's really no point in "optimizing" this OOM path, we just need enough preallocated to make progress. A single unit is enough, lets scale it down to 2 just to be on the safe side. This patch saves ~150kb of pinned kernel memory on a 32-bit box. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/md/dm-crypt.c2
-rw-r--r--drivers/md/dm-io.c2
-rw-r--r--drivers/md/dm.c2
-rw-r--r--drivers/scsi/scsi_lib.c2
4 files changed, 4 insertions, 4 deletions
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 4c2471ee054a..d8121234c347 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -867,7 +867,7 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
867 goto bad4; 867 goto bad4;
868 } 868 }
869 869
870 cc->bs = bioset_create(MIN_IOS, MIN_IOS, 4); 870 cc->bs = bioset_create(MIN_IOS, MIN_IOS);
871 if (!cc->bs) { 871 if (!cc->bs) {
872 ti->error = "Cannot allocate crypt bioset"; 872 ti->error = "Cannot allocate crypt bioset";
873 goto bad_bs; 873 goto bad_bs;
diff --git a/drivers/md/dm-io.c b/drivers/md/dm-io.c
index 4eb73d395213..8bdc8a87b249 100644
--- a/drivers/md/dm-io.c
+++ b/drivers/md/dm-io.c
@@ -60,7 +60,7 @@ static int resize_pool(unsigned int new_ios)
60 if (!_io_pool) 60 if (!_io_pool)
61 return -ENOMEM; 61 return -ENOMEM;
62 62
63 _bios = bioset_create(16, 16, 4); 63 _bios = bioset_create(16, 16);
64 if (!_bios) { 64 if (!_bios) {
65 mempool_destroy(_io_pool); 65 mempool_destroy(_io_pool);
66 _io_pool = NULL; 66 _io_pool = NULL;
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 3668b170ea68..11a98df298ec 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1012,7 +1012,7 @@ static struct mapped_device *alloc_dev(int minor)
1012 if (!md->tio_pool) 1012 if (!md->tio_pool)
1013 goto bad3; 1013 goto bad3;
1014 1014
1015 md->bs = bioset_create(16, 16, 4); 1015 md->bs = bioset_create(16, 16);
1016 if (!md->bs) 1016 if (!md->bs)
1017 goto bad_no_bioset; 1017 goto bad_no_bioset;
1018 1018
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 9f7482d0b594..05d79af5ab90 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -31,7 +31,7 @@
31 31
32 32
33#define SG_MEMPOOL_NR ARRAY_SIZE(scsi_sg_pools) 33#define SG_MEMPOOL_NR ARRAY_SIZE(scsi_sg_pools)
34#define SG_MEMPOOL_SIZE 32 34#define SG_MEMPOOL_SIZE 2
35 35
36struct scsi_host_sg_pool { 36struct scsi_host_sg_pool {
37 size_t size; 37 size_t size;