Hey, On Thu, May 2, 2013 at 12:07 PM, Vivek Goyal <vgoyal@xxxxxxxxxx> 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 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers