aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorJunichi Nomura <j-nomura@ce.jp.nec.com>2014-10-03 17:27:11 -0400
committerJens Axboe <axboe@fb.com>2014-10-03 17:28:16 -0400
commit11dfce509eaa35e8fc81cb50d0910c0e235fd7e2 (patch)
treead67b4e5266cf3cd9efdc12e3929f9c95f0b82ff /block
parent4a0efdc933680d908de11712a774a2c9492c3d5a (diff)
block: use bio_clone_fast() in blk_rq_prep_clone()
Request cloning clones bios in the request to track the completion of each bio. For that purpose, we can use bio_clone_fast() instead of bio_clone() to avoid unnecessary allocation and copy of bvecs. This patch reduces memory footprint of request-based device-mapper (about 1-4KB for each request) and is a preparation for further reduction of memory usage by removing unused bvec mempool. Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block')
-rw-r--r--block/blk-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index 4aa9ccd02a50..ffcb47af35f3 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -2926,7 +2926,7 @@ int blk_rq_prep_clone(struct request *rq, struct request *rq_src,
2926 blk_rq_init(NULL, rq); 2926 blk_rq_init(NULL, rq);
2927 2927
2928 __rq_for_each_bio(bio_src, rq_src) { 2928 __rq_for_each_bio(bio_src, rq_src) {
2929 bio = bio_clone_bioset(bio_src, gfp_mask, bs); 2929 bio = bio_clone_fast(bio_src, gfp_mask, bs);
2930 if (!bio) 2930 if (!bio)
2931 goto free_and_out; 2931 goto free_and_out;
2932 2932