[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56C18A25.50803@dev.mellanox.co.il>
Date: Mon, 15 Feb 2016 10:19:49 +0200
From: Sagi Grimberg <sagig@....mellanox.co.il>
To: Ming Lei <ming.lei@...onical.com>, Jens Axboe <axboe@...nel.dk>,
linux-kernel@...r.kernel.org
Cc: linux-block@...r.kernel.org, Christoph Hellwig <hch@...radead.org>,
stable@...r.kernel.org
Subject: Re: [PATCH 1/4] block: bio: introduce helpers to get the 1st and last
bvec
> +/*
> + * bio_get_last_bvec() is introduced to get the last bvec of one
> + * bio for bio_will_gap().
> + *
> + * TODO: make it more efficient.
> + */
> +static inline void bio_get_last_bvec(struct bio *bio, struct bio_vec *bv)
> +{
> + struct bvec_iter iter;
> +
> + bio_for_each_segment(*bv, bio, iter)
> + if (bv->bv_len == iter.bi_size)
> + break;
> +}
This helper is used for each req/bio once or more. I'd say
it's critical to make it efficient and not settle for
a quick bail for drivers that don't have a virt_boundary
like you did in patch #2.
However, given that it's a regression bug fix I'm not sure it's the best
idea to add logic here.
Powered by blists - more mailing lists