* menage@xxxxxxxxxx <menage@xxxxxxxxxx> [2009-06-05 02:48:36]: > On Fri, Jun 5, 2009 at 2:36 AM, Balbir Singh<balbir@xxxxxxxxxxxxxxxxxx> wrote: > > > > The important scenario I have is adding and removing groups. > > > > Consider 10 cgroups with shares of 10 each, what if 5 new are created > > with the same shares? We now start getting 100/15, even though we did > > not change our shares. > > Are you assuming that arbitrary users can create new cgroups whenever > they like, with whatever shares they like? In that situation, how > would you use hard limits to provide guarantees? Presumably if the > user could create a cgroup with an arbitrary share, they could create > one with an arbitrary hard limit too. > What about applications running as root, that can create their own groups? How about multiple instances of the same application started? Do applications need to know that creating a group will hurt guarantees provided to others? > Can you explain a bit more about how you're envisaging cgroups being > created, and how their shares and hard limits would get set? I was > working on the assumption that (for any sub-tree of the CFS hierarchy) > there's a single managing entity that gets to decide the shares given > to the cgroups within that tree. That managing entity would be > responsible for ensuring that the shares given out allowed guarantees > to be met (or alternatively, that the probability of violating those > guarantees based on the shares given out was within some tolerance > threshold). > The point is that there is no single control entity for creating groups. if run a solution, it might create groups without telling the user. No one is arbitrating, not even libcgroup. What if someone changes the cpuset assignment and moves CPUS x to y in an exclusive cpuset all of a sudden. How do we arbitrate? -- Balbir -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html