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. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization