Messages in this thread | | | Subject | RE: [patch 0/4] [RFC] Another proportional weight IO controller | From | Peter Zijlstra <> | Date | Fri, 14 Nov 2008 09:02:15 +0100 |
| |
On Fri, 2008-11-14 at 13:58 +0900, Satoshi UCHIDA wrote:
> > I think Satoshi's cfq controller patches also do not seem to be considering > > A, B, C, D and E to be at same level, instead it treats cgroup "/" , D and > > E > > at same level and tries to do proportional BW division among these. > > Satoshi, please correct me, if that's not the case. > > > > Yes. > 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.
| |