diff --git a/config-linux.md b/config-linux.md index 37ea951f7..10c4de261 100644 --- a/config-linux.md +++ b/config-linux.md @@ -300,7 +300,8 @@ For more information, see the kernel cgroups documentation about [cpusets][cgrou The following parameters can be specified to set up the controller: * **`shares`** *(uint64, OPTIONAL)* - specifies a relative share of CPU time available to the tasks in a cgroup -* **`quota`** *(int64, OPTIONAL)* - specifies the total amount of time in microseconds for which all tasks in a cgroup can run during one period (as defined by **`period`** below) +* **`quota`** *(int64, OPTIONAL)* - specifies the replenished amount of time in microseconds for which all tasks in a cgroup can run during one period (as defined by **`period`** below) +* **`burst`** *(uint64, OPTIONAL)* - specifies the maximum amount of accumulated time in microseconds for which all tasks in a cgroup can run additionally for burst during one period (as defined by **`period`** below) * **`period`** *(uint64, OPTIONAL)* - specifies a period of time in microseconds for how regularly a cgroup's access to CPU resources should be reallocated (CFS scheduler only) * **`realtimeRuntime`** *(int64, OPTIONAL)* - specifies a period of time in microseconds for the longest continuous period in which the tasks in a cgroup have access to CPU resources * **`realtimePeriod`** *(uint64, OPTIONAL)* - same as **`period`** but applies to realtime scheduler only @@ -313,6 +314,7 @@ The following parameters can be specified to set up the controller: "cpu": { "shares": 1024, "quota": 1000000, + "burst": 1000000, "period": 500000, "realtimeRuntime": 950000, "realtimePeriod": 1000000, diff --git a/specs-go/config.go b/specs-go/config.go index a41d798dc..bcf123134 100644 --- a/specs-go/config.go +++ b/specs-go/config.go @@ -320,6 +320,9 @@ type LinuxCPU struct { Shares *uint64 `json:"shares,omitempty"` // CPU hardcap limit (in usecs). Allowed cpu time in a given period. Quota *int64 `json:"quota,omitempty"` + // CPU hardcap burst limit (in usecs). Allowed accumulated cpu time additionally for burst in a + // given period. + Burst *uint64 `json:"burst,omitempty"` // CPU period to be used for hardcapping (in usecs). Period *uint64 `json:"period,omitempty"` // How much time realtime scheduling may use (in usecs).