mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Add validation for cpu period and quota
Accoding to: https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt It has minimal and maximal limit. Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
This commit is contained in:
parent
c22d09f563
commit
b041fdc0d5
1 changed files with 6 additions and 0 deletions
|
@ -393,11 +393,17 @@ func verifyContainerResources(resources *containertypes.Resources, sysInfo *sysi
|
|||
logrus.Warnf("Your kernel does not support CPU cfs period. Period discarded.")
|
||||
resources.CPUPeriod = 0
|
||||
}
|
||||
if resources.CPUPeriod > 0 && (resources.CPUPeriod < 1000 || resources.CPUQuota > 1000000) {
|
||||
return warnings, fmt.Errorf("CPU cfs period can not be less than 1ms (i.e. 1000) or larger than 1s (i.e. 1000000)")
|
||||
}
|
||||
if resources.CPUQuota > 0 && !sysInfo.CPUCfsQuota {
|
||||
warnings = append(warnings, "Your kernel does not support CPU cfs quota. Quota discarded.")
|
||||
logrus.Warnf("Your kernel does not support CPU cfs quota. Quota discarded.")
|
||||
resources.CPUQuota = 0
|
||||
}
|
||||
if resources.CPUQuota > 0 && resources.CPUQuota < 1000 {
|
||||
return warnings, fmt.Errorf("CPU cfs quota can not be less than 1ms (i.e. 1000)")
|
||||
}
|
||||
|
||||
// cpuset subsystem checks and adjustments
|
||||
if (resources.CpusetCpus != "" || resources.CpusetMems != "") && !sysInfo.Cpuset {
|
||||
|
|
Loading…
Reference in a new issue