summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipe Brandenburger <filbranden@google.com>2019-01-23 20:19:44 -0800
committerFilipe Brandenburger <filbranden@google.com>2019-02-14 11:04:42 -0800
commit527ede0c638b47b62a87900438a8a09dea42889e (patch)
treea855fbf8d18eeeef772f2e00ad0398b44171367a
parent10f28641115733c61754342d5dcbe70b083bea4b (diff)
downloadsystemd-527ede0c638b47b62a87900438a8a09dea42889e.tar.gz
core: downgrade CPUQuotaPeriodSec= clamping logs to debug
After the first warning log, further messages are downgraded to LOG_DEBUG.
-rw-r--r--src/core/cgroup.c3
-rw-r--r--src/core/dbus-cgroup.c2
-rw-r--r--src/core/unit.h3
3 files changed, 7 insertions, 1 deletions
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
index 9fe3ba9907..ccf06173db 100644
--- a/src/core/cgroup.c
+++ b/src/core/cgroup.c
@@ -685,9 +685,10 @@ static usec_t cgroup_cpu_adjust_period_and_log(Unit *u, usec_t period, usec_t qu
if (new_period != period) {
char v[FORMAT_TIMESPAN_MAX];
- log_unit_full(u, LOG_WARNING, 0,
+ log_unit_full(u, u->warned_clamping_cpu_quota_period ? LOG_DEBUG : LOG_WARNING, 0,
"Clamping CPU interval for cpu.max: period is now %s",
format_timespan(v, sizeof(v), new_period, 1));
+ u->warned_clamping_cpu_quota_period = true;
}
return new_period;
diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
index d1c34fed1b..7ab53a1c2a 100644
--- a/src/core/dbus-cgroup.c
+++ b/src/core/dbus-cgroup.c
@@ -714,6 +714,7 @@ int bus_cgroup_set_property(
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
c->cpu_quota_per_sec_usec = u64;
+ u->warned_clamping_cpu_quota_period = false;
unit_invalidate_cgroup(u, CGROUP_MASK_CPU);
if (c->cpu_quota_per_sec_usec == USEC_INFINITY)
@@ -737,6 +738,7 @@ int bus_cgroup_set_property(
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
c->cpu_quota_period_usec = u64;
+ u->warned_clamping_cpu_quota_period = false;
unit_invalidate_cgroup(u, CGROUP_MASK_CPU);
if (c->cpu_quota_period_usec == USEC_INFINITY)
unit_write_setting(u, flags, "CPUQuotaPeriodSec", "CPUQuotaPeriodSec=");
diff --git a/src/core/unit.h b/src/core/unit.h
index 43cf15715a..4d6e6cf467 100644
--- a/src/core/unit.h
+++ b/src/core/unit.h
@@ -349,6 +349,9 @@ typedef struct Unit {
bool exported_log_rate_limit_interval:1;
bool exported_log_rate_limit_burst:1;
+ /* Whether we warned about clamping the CPU quota period */
+ bool warned_clamping_cpu_quota_period:1;
+
/* When writing transient unit files, stores which section we stored last. If < 0, we didn't write any yet. If
* == 0 we are in the [Unit] section, if > 0 we are in the unit type-specific section. */
signed int last_section_private:2;