2008-07-25 18:11:27

by cheng renquan

[permalink] [raw]
Subject: [PATCH] bio: make use of bvec_nr_vecs

Since introduced in 7ba1ba12eee, it should be made use of.

Signed-off-by: Denis ChengRq <[email protected]>
---
Additionally, I think it maybe better if inlined in <linux/bio.h>

fs/bio.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/fs/bio.c b/fs/bio.c
index 88322b0..7ed91d3 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -77,11 +77,8 @@ struct bio_vec *bvec_alloc_bs(gfp_t gfp_mask, int nr, unsigned long *idx, struct
*/

bvl = mempool_alloc(bs->bvec_pools[*idx], gfp_mask);
- if (bvl) {
- struct biovec_slab *bp = bvec_slabs + *idx;
-
- memset(bvl, 0, bp->nr_vecs * sizeof(struct bio_vec));
- }
+ if (bvl)
+ memset(bvl, 0, bvec_nr_vecs(*idx) * sizeof(struct bio_vec));

return bvl;
}
@@ -149,7 +146,7 @@ struct bio *bio_alloc_bioset(gfp_t gfp_mask, int nr_iovecs, struct bio_set *bs)
goto out;
}
bio->bi_flags |= idx << BIO_POOL_OFFSET;
- bio->bi_max_vecs = bvec_slabs[idx].nr_vecs;
+ bio->bi_max_vecs = bvec_nr_vecs(idx);
}
bio->bi_io_vec = bvl;
}
--
1.5.6.3


2008-07-26 04:22:40

by cheng renquan

[permalink] [raw]
Subject: Re: [PATCH] bio: make use of bvec_nr_vecs

On Sat, Jul 26, 2008 at 2:11 AM, Denis ChengRq <[email protected]> wrote:
> bvl = mempool_alloc(bs->bvec_pools[*idx], gfp_mask);
> - if (bvl) {
> - struct biovec_slab *bp = bvec_slabs + *idx;
> -
> - memset(bvl, 0, bp->nr_vecs * sizeof(struct bio_vec));
> - }
> + if (bvl)
> + memset(bvl, 0, bvec_nr_vecs(*idx) * sizeof(struct bio_vec));
and if we have a mempool_zalloc, this can be more simplified,

there was no mempool_zalloc yet, should we create it inlined with
__GFP_ZERO, for this and further use?

2008-08-04 09:57:47

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] bio: make use of bvec_nr_vecs

On Sat, Jul 26 2008, Denis ChengRq wrote:
> Since introduced in 7ba1ba12eee, it should be made use of.
>
> Signed-off-by: Denis ChengRq <[email protected]>

Thanks, applied.

> Additionally, I think it maybe better if inlined in <linux/bio.h>

Submit a patch :-)

--
Jens Axboe