lkml.org 
[lkml]   [2009]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] CPU hard limits
Bharata B Rao wrote:
>> Another way is to place the 8 groups in a container group, and limit
>> that to 80%. But that doesn't work if I want to provide guarantees to
>> several groups.
>>
>
> Hmm why not ? Reduce the guarantee of the container group and provide
> the same to additional groups ?
>

This method produces suboptimal results:

$ cgroup-limits 10 10 0
[50.0, 50.0, 40.0]

I want to provide two 10% guaranteed groups and one best-effort group.
Using the limits method, no group can now use more than 50% of the
resources. However, having the first group use 90% of the resources
does not violate any guarantees, but it not allowed by the solution.

#!/usr/bin/python

def calculate_limits(g, R):
N = len(g)
if N == 1:
return [R]

s = sum([R - gi for gi in g])
return [(s - (R - gi) - (N - 2) * (R - gi)) / (N - 1)
for gi in g]

import sys
print calculate_limits([float(x) for x in sys.argv[1:]], 100)

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.



\
 
 \ /
  Last update: 2009-06-05 05:39    [W:0.085 / U:0.168 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site