RE: [patch 0/4] [RFC] Another proportional weight IO controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux