Re: [PATCH] block: make sure big bio is splitted into at most 256 bvecs

From: Ming Lei
Date: Tue Apr 05 2016 - 22:51:48 EST


On Wed, Apr 6, 2016 at 10:40 AM, Kent Overstreet
<kent.overstreet@xxxxxxxxx> wrote:
> On Wed, Apr 06, 2016 at 10:37:05AM +0800, Ming Lei wrote:
>> On Wed, Apr 6, 2016 at 10:34 AM, Kent Overstreet
>> <kent.overstreet@xxxxxxxxx> wrote:
>> > On Wed, Apr 06, 2016 at 10:30:22AM +0800, Ming Lei wrote:
>> >> Now limit.max_segments is for limiting segments from hw view, one this
>> >> segment may include lots of pages/bvecs.
>> >>
>> >> The current bio_clone() issue is that we can't clone from one bio which
>> >> includes more than 256 bvecs, maybe all these 256 bvecs belong to
>> >> one same hw segment.
>> >
>> > So the distinction is purely a post multipage bvec thing?
>>
>> Even after multipage bvec is applied, the limit for max bvecs is still needed
>> for some cases like bio bounce, in which bio_clone() need to
>> clone single page bvec.
>
> s/max bvecs/max pages/?

Exactly, :-)

>
> What I meant is that until we have multipage bvecs, unless I'm missing something
> max_segments is exactly what we want. After multipage bvecs, things do get more

Yes, but now we need to fix current issue and backport the fix. Given bio
bounce isn't easy to fix, not like other users of bio_clone, I think
we still need
to apply the max pages limit globally, what do you think of it?

For multipage bvecs, there may be a long way ahead, :-)

thanks,
Ming

> --
> To unsubscribe from this list: send the line "unsubscribe linux-block" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html