Messages in this thread | | | Date | Thu, 2 May 2013 10:57:01 -0700 | From | Tejun Heo <> | Subject | Re: [PATCHSET] blk-throttle: implement proper hierarchy support |
| |
Hey, Vivek.
On Thu, May 02, 2013 at 01:34:28PM -0400, Vivek Goyal wrote: > On Wed, May 01, 2013 at 05:39:18PM -0700, Tejun Heo wrote: > > [..] > > While this patchset contains many patches, the implementation is > > pretty straight-forward. throtl_grp's form a tree anchored at > > throtl_data and bios climb the tree as they get dispatched at each > > level. The bios which reach the top of the tree - throl_data - are > > issued. > > Have a question here. Looks like when bio climbs from child group > to parent group, then parent group slice starts fresh if parent > was empty. So if we have a parent with 1MB/s limit and a child with > 1MB/s limit and a bio gets queued in child, then looks like effective > IO rate would be .5MB/s and not 1MB/s?
Hmmm.... not that drastic but when the same limit is configured in both parent and its single active child, the child gets penalized by about 15%, which is not nice.
> IOW, when child gets queued, we should start time accounting for > all parents in the hiearchy too.
I don't particularly like doing that as a separate step, maybe we can just push the child's start time to the parent while dispatching? Does that sound doable to you?
Thanks.
-- tejun
| |