[Devel] Re: [patch 0/4] [RFC] Another proportional weight IO controller
Fabio Checconi
fchecconi at gmail.com
Fri Nov 21 07:21:22 PST 2008
> From: Vivek Goyal <vgoyal at redhat.com>
> Date: Fri, Nov 21, 2008 09:58:23AM -0500
>
> On Fri, Nov 21, 2008 at 04:05:33AM +0100, Fabio Checconi wrote:
> > > From: Vivek Goyal <vgoyal at redhat.com>
> > > Date: Thu, Nov 20, 2008 04:31:55PM -0500
> > >
> > ...
> > > Hi Fabio,
> > >
> > > I though will give bfq a try. I get following when I put my current shell
> > > into a newly created cgroup and then try to do "ls".
> > >
> >
> > The posted patch cannot work as it is, I'm sorry for that ugly bug.
> > Do you still have problems with this one applied?
> >
> > ---
> > diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c
> > index efb03fc..ed8c597 100644
> > --- a/block/bfq-cgroup.c
> > +++ b/block/bfq-cgroup.c
> > @@ -168,7 +168,7 @@ static void bfq_group_chain_link(struct bfq_data *bfqd, struct cgroup *cgroup,
> >
> > spin_lock_irqsave(&bgrp->lock, flags);
> >
> > - rcu_assign_pointer(bfqg->bfqd, bfqd);
> > + rcu_assign_pointer(leaf->bfqd, bfqd);
> > hlist_add_head_rcu(&leaf->group_node, &bgrp->group_data);
> > hlist_add_head(&leaf->bfqd_node, &bfqd->group_list);
>
> Thanks Fabio. This fix solves the issue for me.
>
Ok thank you.
> I did a quick testing and I can see the differential service if I create
> two cgroups of different priority. How do I map ioprio to shares? I
> mean lets say one cgroup has ioprio 4 and other has got ioprio 7, then
> what's the respective share(%) of each cgroup?
>
I thought I wrote it somewhere, but maybe I missed that; weights are
mapped linearly, in decreasing order of priority:
weight = 8 - ioprio
[ the calculation is done in bfq_weight_t bfq_ioprio_to_weight() ]
So, with ioprio 4 you have weight 4, and with ioprio 7 you have weight 1.
The shares, as long as the two tasks/groups are active on the disk,
are 4/5 and 1/5 respectively.
This interface is really ugly, but it allows compatible uses of
ioprios with the two schedulers.
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list