[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <000001c94640$aafedb10$00fc9130$@jp.nec.com>
Date: Fri, 14 Nov 2008 19:06:31 +0900
From: "Satoshi UCHIDA" <s-uchida@...jp.nec.com>
To: "'Peter Zijlstra'" <peterz@...radead.org>
Cc: "'Vivek Goyal'" <vgoyal@...hat.com>,
"'Nauman Rafique'" <nauman@...gle.com>,
<linux-kernel@...r.kernel.org>,
<containers@...ts.linux-foundation.org>,
<virtualization@...ts.linux-foundation.org>,
<jens.axboe@...cle.com>,
"'Hirokazu Takahashi'" <taka@...inux.co.jp>,
"'Ryo Tsuruta'" <ryov@...inux.co.jp>,
"'Andrea Righi'" <righi.andrea@...il.com>,
<fernando@....ntt.co.jp>, <balbir@...ux.vnet.ibm.com>,
"'Andrew Morton'" <akpm@...ux-foundation.org>, <menage@...gle.com>,
<ngupta@...gle.com>, "'Rik van Riel'" <riel@...hat.com>,
"'Jeff Moyer'" <jmoyer@...hat.com>, <dpshah@...gle.com>,
"'Mike Waychison'" <mikew@...gle.com>, <rohitseth@...gle.com>,
"'Fabio Checconi'" <fchecconi@...il.com>,
<paolo.valente@...more.it>
Subject: RE: [patch 0/4] [RFC] Another proportional weight IO controller
Hi, Vivek.
> > I think that a controller should be divided share among "/(root)" and
> two groups.
> > This reason is follows:
> >
> > * If these tasks are handled at same level, it is enough by using a
> traditional
> > CFQ scheduler.
> > If you want to make all tasks in the same group the same
> priority(parameter),
> > It is not I/O control but is parameter control.
> >
> > * I think that the group means the environment which makes some sense
> and
> > user want to control I/O per groups.
> > Next, the group is the environment. So, tasks within the group will
> have
> > priorities for themselves respectively as traditional environment.
> > Of course, group may not be need to control I/O.
> > In such time, a ioprio of tasks should be set the same priority.
> >
> > Therefore, our scheduler controls among group and then among tasks
>
> I would suggest abandoning this scheme as its different from how the CPU
> scheduler does it. The CPU scheduler is fully hierarchical and tasks in
> "/" are on the same level as groups in "/".
>
> That is, we do:
>
> root
> / | \
> 1 2 A
> / \
> B 3
> / \
> 4 5
>
> Where digits are tasks, and letters are groups.
>
> Having the two bandwidth (CPU, I/O) doing different things wrt grouping
> can only be confusing at best.
>
I understand what you mean is as follows.
CPU power for 4 is calculated by 100% * a ratio of A (among 1, 2 and A) *
a ratio of B (among 3 and B) * ratio of 4 (among 4 and 5).
However, I/O power for 4 is calculated by 100% * a ratio of B (among root, A and B) *
a ratio of 4 (among 4 and 5).
Therefore, its power expression is a different and then user will confuse.
So, in other cgroups controllers, children(tasks and groups) of a group are flat,
but in CFQ cgroups controllers, all groups are flat.
I agree this opinion.
I think that CFQ should support multiple layers, and
its improvement would be easy (by nesting cfq_data tree) probably.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists