|
|
c2dfb7 |
From 9d58db234dc9f22a4f551b1b06bd9fc60d085f4d Mon Sep 17 00:00:00 2001
|
|
|
c2dfb7 |
From: Filipe Brandenburger <filbranden@google.com>
|
|
|
c2dfb7 |
Date: Wed, 23 Jan 2019 20:19:44 -0800
|
|
|
c2dfb7 |
Subject: [PATCH] core: downgrade CPUQuotaPeriodSec= clamping logs to debug
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
After the first warning log, further messages are downgraded to LOG_DEBUG.
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
(cherry picked from commit 527ede0c638b47b62a87900438a8a09dea42889e)
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
Related: #1770379
|
|
|
c2dfb7 |
---
|
|
|
c2dfb7 |
src/core/cgroup.c | 3 ++-
|
|
|
c2dfb7 |
src/core/dbus-cgroup.c | 2 ++
|
|
|
c2dfb7 |
src/core/unit.h | 3 +++
|
|
|
c2dfb7 |
3 files changed, 7 insertions(+), 1 deletion(-)
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
|
|
c2dfb7 |
index 45fd64a394..f8b351a65d 100644
|
|
|
c2dfb7 |
--- a/src/core/cgroup.c
|
|
|
c2dfb7 |
+++ b/src/core/cgroup.c
|
|
|
c2dfb7 |
@@ -544,9 +544,10 @@ static usec_t cgroup_cpu_adjust_period_and_log(Unit *u, usec_t period, usec_t qu
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
if (new_period != period) {
|
|
|
c2dfb7 |
char v[FORMAT_TIMESPAN_MAX];
|
|
|
c2dfb7 |
- log_unit_full(u, LOG_WARNING, 0,
|
|
|
c2dfb7 |
+ log_unit_full(u, u->warned_clamping_cpu_quota_period ? LOG_DEBUG : LOG_WARNING, 0,
|
|
|
c2dfb7 |
"Clamping CPU interval for cpu.max: period is now %s",
|
|
|
c2dfb7 |
format_timespan(v, sizeof(v), new_period, 1));
|
|
|
c2dfb7 |
+ u->warned_clamping_cpu_quota_period = true;
|
|
|
c2dfb7 |
}
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
return new_period;
|
|
|
c2dfb7 |
diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
|
|
|
c2dfb7 |
index c8b918e45d..4555b33b1f 100644
|
|
|
c2dfb7 |
--- a/src/core/dbus-cgroup.c
|
|
|
c2dfb7 |
+++ b/src/core/dbus-cgroup.c
|
|
|
c2dfb7 |
@@ -712,6 +712,7 @@ int bus_cgroup_set_property(
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
|
|
c2dfb7 |
c->cpu_quota_per_sec_usec = u64;
|
|
|
c2dfb7 |
+ u->warned_clamping_cpu_quota_period = false;
|
|
|
c2dfb7 |
unit_invalidate_cgroup(u, CGROUP_MASK_CPU);
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
if (c->cpu_quota_per_sec_usec == USEC_INFINITY)
|
|
|
c2dfb7 |
@@ -735,6 +736,7 @@ int bus_cgroup_set_property(
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
|
|
c2dfb7 |
c->cpu_quota_period_usec = u64;
|
|
|
c2dfb7 |
+ u->warned_clamping_cpu_quota_period = false;
|
|
|
c2dfb7 |
unit_invalidate_cgroup(u, CGROUP_MASK_CPU);
|
|
|
c2dfb7 |
if (c->cpu_quota_period_usec == USEC_INFINITY)
|
|
|
c2dfb7 |
unit_write_setting(u, flags, "CPUQuotaPeriodSec", "CPUQuotaPeriodSec=");
|
|
|
c2dfb7 |
diff --git a/src/core/unit.h b/src/core/unit.h
|
|
|
c2dfb7 |
index 39179f5fd4..b40ff9b961 100644
|
|
|
c2dfb7 |
--- a/src/core/unit.h
|
|
|
c2dfb7 |
+++ b/src/core/unit.h
|
|
|
c2dfb7 |
@@ -356,6 +356,9 @@ typedef struct Unit {
|
|
|
c2dfb7 |
bool exported_log_rate_limit_interval:1;
|
|
|
c2dfb7 |
bool exported_log_rate_limit_burst:1;
|
|
|
c2dfb7 |
|
|
|
c2dfb7 |
+ /* Whether we warned about clamping the CPU quota period */
|
|
|
c2dfb7 |
+ bool warned_clamping_cpu_quota_period:1;
|
|
|
c2dfb7 |
+
|
|
|
c2dfb7 |
/* When writing transient unit files, stores which section we stored last. If < 0, we didn't write any yet. If
|
|
|
c2dfb7 |
* == 0 we are in the [Unit] section, if > 0 we are in the unit type-specific section. */
|
|
|
c2dfb7 |
int last_section_private:2;
|