Re: [PATCH V11 14/19] block: handle non-cluster bio out of blk_bio_segment_split

Christoph Hellwig
2018-11-22T10:40:53Z

On Thu, Nov 22, 2018 at 06:26:17PM +0800, Ming Lei wrote:
> Suppose one bio includes (pg0, 0, 512) and (pg1, 512, 512):
>
> The split is introduced by the following code in blk_bio_segment_split():
>
> if (bvprvp && bvec_gap_to_prev(q, bvprvp, bv.bv_offset))
> goto split;
>
> Without this patch, for non-cluster, the two bvecs are just in different
> segment, but still handled by one same bio. Now you convert into two bios.

Oh, true - we create new bios instead of new segments. So I guess we
need to do something special here if we don't want to pay that overhead.

Or just look into killing the cluster setting..