Re: Re: cgroup: Fix split bio been throttled more than once

From: Ming Lei
Date: Wed Jul 06 2016 - 11:39:34 EST


On Wed, Jul 6, 2016 at 11:06 PM, Tejun Heo <tj@xxxxxxxxxx> wrote:
> Hello,
>
> On Wed, Jul 06, 2016 at 10:58:55PM +0800, aaronlee0817 wrote:
>> >But that said, can't we just copy BIO_THROTLED while splitting?
>>
>> In my opinionï copying BIO_THROTLED while splitting doesn't work
>> with this, because, the bio within the limit will not set BIO_THROTLED
>> but will be split, and back to call generic_make_request(), and will be
>> count twice.
>
> I see. It's just a bit weird that we're marking this from clone site
> when it's an issue which is specific to throttling. The thing is
> depending on how bio clone is used, it could misbehave in the other

The cloned bio often need to be submitted via generic_make_request().

> direction (bio not accounted at all). What we want to know is whether
> a bio has been previously accounted or not, rather than whether a bio
> is a result of splitting. I think it'd be better to track that
> instead.

Looks the flag of BIO_THROTLED doesn't work well, and it should have
been set if the bio is accounted, and seems not related with splitting.

Thanks,
Ming

>
> Thanks.
>
> --
> tejun
> --
> 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



--
Ming Lei