[PATCHSET] blk-throttle: implement proper hierarchy support

Tejun Heo tj at kernel.org
Thu May 2 19:11:30 UTC 2013


Hey,


On Thu, May 2, 2013 at 12:07 PM, Vivek Goyal <vgoyal at redhat.com> wrote:
> It should not. Why do you think in flat model an application which
> throttles itself will be penalized.
>
> So application issue an bio of size 1MB in a group of rate 1MB/s. bio
> gets queued and gets dispatched after 1 second. Almost immediately next
> bio will come from application (as application also is throttling
> itself at 1MB/s rate). And then this bio waits for a second. So we
> almost get steady rate of 1MB/s as configured.

I'm confused now, so why does the hierarchy make any difference? When
seen from the parent, what's the difference between a process issuing
IO directly and an IO which already went through another throttle
layer if the IOs arrive at the same intervals?

>
> >
> > > Ok. Not having a perfect algorithm now is fine. We can always redo it
> > > later.
> >
> > I think we can do source-based RR on bio_lists[] fetching which is
> > simple enough and should be able to avoid most of the problems, right?
>
> Yes, maintaining per child/source bio_lists[] in parent and doing round
> robin there should mitigate the fairness problem to a great extent.

Yeap, will implement that.

Thanks.

--
tejun


More information about the Containers mailing list