From 9c2d8d184e5da67c95d601382adf14862e4f2228 Mon Sep 17 00:00:00 2001 From: xuxinkun Date: Fri, 24 Feb 2017 17:44:02 +0800 Subject: [PATCH] fix cpu.cfs_quota_us changed when systemd daemon-reload using systemd. Signed-off-by: xuxinkun (cherry picked from commit c44aec9b23f89ca40434fe5f86693870ef3bf9f9) --- libcontainer/cgroups/systemd/apply_systemd.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libcontainer/cgroups/systemd/apply_systemd.go b/libcontainer/cgroups/systemd/apply_systemd.go index fd428f90..7ce066c0 100644 --- a/libcontainer/cgroups/systemd/apply_systemd.go +++ b/libcontainer/cgroups/systemd/apply_systemd.go @@ -269,6 +269,13 @@ func (m *Manager) Apply(pid int) error { newProp("CPUShares", uint64(c.Resources.CpuShares))) } + // cpu.cfs_quota_us and cpu.cfs_period_us are controlled by systemd. + if c.Resources.CpuQuota != 0 && c.Resources.CpuPeriod != 0 { + cpuQuotaPerSecUSec := c.Resources.CpuQuota * 1000000 / c.Resources.CpuPeriod + properties = append(properties, + newProp("CPUQuotaPerSecUSec", uint64(cpuQuotaPerSecUSec))) + } + if c.Resources.BlkioWeight != 0 { properties = append(properties, newProp("BlockIOWeight", uint64(c.Resources.BlkioWeight)))