[PATCH RFC 0/3] sched/fair: cpu time reserves for cgroups

Konstantin Khlebnikov khlebnikov at yandex-team.ru
Mon May 16 12:22:22 UTC 2016


On 16.05.2016 14:18, Peter Zijlstra wrote:
> On Mon, May 16, 2016 at 12:36:19PM +0300, Konstantin Khlebnikov wrote:
>> This feature allows to change cpu cgroup weight for a limited time.
>>
>> Cgroup interface:
>> cpu.cfs_reserve_us      - reserved time for each cpu.cfs_period_us
>> cpu.cfs_reserve_shares  - group weight during reserved time
>>
>> While cfs group consumes reserved cpu time it has different weight,
>> thus it gets different vruntime penalty for that execution.
>>
>>          ^ weight
>>          |
>>          |
>> reserve |
>> shares  -------*
>>          |      |
>>          |      |
>>          |      |
>> shares  -      *-----------------*
>>          |                        |
>>          |                        |
>>          0------|-----------------|-----------> time
>>                 reserve           quota
>>
>> Reserve can work as a "low limit": boost weight for "guaranteed" time,
>> and as a "high limit": give normal weight for a limited time and allow
>> utilize cpu when nobody else needs it.
>>
>
> You forgot to explain why I should care about this.

As I told this works as low-limit or high-limit which allow to
control cpu time distribution without hard limits and throttling.

Present quota/hard limit has well known problems when it throttle task
inside kernel where it holds mutexes. Also it's too strict and doesn't
allow utilization of unused cpu time.

-- 
Konstantin


More information about the Containers mailing list