diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2007-04-02 04:06:42 -0400 |
---|---|---|
committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2007-04-30 03:08:17 -0400 |
commit | 5972511b77809cb7c9ccdb79b825c54921c5c546 (patch) | |
tree | 8dec5821badf9750be04f339f0f621fab2114c8a /drivers | |
parent | b9099ff63c75216d6ca10bce5a1abcd9293c27e6 (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.c | 2 | ||||
-rw-r--r-- | drivers/md/dm-io.c | 2 | ||||
-rw-r--r-- | drivers/md/dm.c | 2 | ||||
-rw-r--r-- | drivers/scsi/scsi_lib.c | 2 |
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 | ||
36 | struct scsi_host_sg_pool { | 36 | struct scsi_host_sg_pool { |
37 | size_t size; | 37 | size_t size; |