aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-raid1.c
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2011-05-29 08:03:09 -0400
committerAlasdair G Kergon <agk@redhat.com>2011-05-29 08:03:09 -0400
commitbda8efec5c706a672e0714d341a342e811f0262a (patch)
tree7daf7b505723f5ed2767353dc3fe53b939c46d87 /drivers/md/dm-raid1.c
parentd04714580f12379fcf7a0f799e86c92b96dd4e1f (diff)
dm io: use fixed initial mempool size
Replace the arbitrary calculation of an initial io struct mempool size with a constant. The code calculated the number of reserved structures based on the request size and used a "magic" multiplication constant of 4. This patch changes it to reserve a fixed number - itself still chosen quite arbitrarily. Further testing might show if there is a better number to choose. Note that if there is no memory pressure, we can still allocate an arbitrary number of "struct io" structures. One structure is enough to process the whole request. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/dm-raid1.c')
-rw-r--r--drivers/md/dm-raid1.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index 976ad4688afc..53089aa11387 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -22,7 +22,6 @@
22#define DM_MSG_PREFIX "raid1" 22#define DM_MSG_PREFIX "raid1"
23 23
24#define MAX_RECOVERY 1 /* Maximum number of regions recovered in parallel. */ 24#define MAX_RECOVERY 1 /* Maximum number of regions recovered in parallel. */
25#define DM_IO_PAGES 64
26#define DM_KCOPYD_PAGES 64 25#define DM_KCOPYD_PAGES 64
27 26
28#define DM_RAID1_HANDLE_ERRORS 0x01 27#define DM_RAID1_HANDLE_ERRORS 0x01
@@ -887,7 +886,7 @@ static struct mirror_set *alloc_context(unsigned int nr_mirrors,
887 return NULL; 886 return NULL;
888 } 887 }
889 888
890 ms->io_client = dm_io_client_create(DM_IO_PAGES); 889 ms->io_client = dm_io_client_create();
891 if (IS_ERR(ms->io_client)) { 890 if (IS_ERR(ms->io_client)) {
892 ti->error = "Error creating dm_io client"; 891 ti->error = "Error creating dm_io client";
893 mempool_destroy(ms->read_record_pool); 892 mempool_destroy(ms->read_record_pool);