]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/cgroup: drop `allow_cache` parameter in `unit_get_io_accounting()`
authorIvan Shapovalov <intelfx@intelfx.name>
Fri, 20 Sep 2024 15:02:13 +0000 (17:02 +0200)
committerIvan Shapovalov <intelfx@intelfx.name>
Sat, 21 Sep 2024 03:45:36 +0000 (05:45 +0200)
The name of the parameter is misleading and it does not save us much
work because it is not used during regular unit property queries.
It is only used during unit_log_resources(), and the cgroup is already
dead by that point so it won't be read anyway.

src/core/cgroup.c
src/core/cgroup.h
src/core/dbus-unit.c
src/core/unit.c

index 3f96f64dad2c143bc13ed1d90db26725641b3358..61814efa9cd660f6dfa7eaee62043b27ab392906 100644 (file)
@@ -4858,7 +4858,6 @@ static int unit_get_io_accounting_raw(
 int unit_get_io_accounting(
                 Unit *u,
                 CGroupIOAccountingMetric metric,
-                bool allow_cache,
                 uint64_t *ret) {
 
         uint64_t raw[_CGROUP_IO_ACCOUNTING_METRIC_MAX];
@@ -4873,9 +4872,6 @@ int unit_get_io_accounting(
         if (!crt)
                 return -ENODATA;
 
-        if (allow_cache && crt->io_accounting_last[metric] != UINT64_MAX)
-                goto done;
-
         r = unit_get_io_accounting_raw(u, crt, raw);
         if (r == -ENODATA && crt->io_accounting_last[metric] != UINT64_MAX)
                 goto done;
index 1c5c1f75abd4b9a652b63224084416285dee292c..7525da728e502f6dd614b973cfc946f680677443 100644 (file)
@@ -481,7 +481,7 @@ int unit_get_memory_current(Unit *u, uint64_t *ret);
 int unit_get_memory_accounting(Unit *u, CGroupMemoryAccountingMetric metric, uint64_t *ret);
 int unit_get_tasks_current(Unit *u, uint64_t *ret);
 int unit_get_cpu_usage(Unit *u, nsec_t *ret);
-int unit_get_io_accounting(Unit *u, CGroupIOAccountingMetric metric, bool allow_cache, uint64_t *ret);
+int unit_get_io_accounting(Unit *u, CGroupIOAccountingMetric metric, uint64_t *ret);
 int unit_get_ip_accounting(Unit *u, CGroupIPAccountingMetric metric, uint64_t *ret);
 int unit_get_effective_limit(Unit *u, CGroupLimitType type, uint64_t *ret);
 
index d7869f115a195534cdc2ac8fc61d2085bb8a96f5..2db473fbed82cabbc1be5388a0a1f8a4f8dfa457 100644 (file)
@@ -1456,7 +1456,7 @@ static int property_get_io_counter(
         assert(property);
 
         assert_se((metric = cgroup_io_accounting_metric_from_string(property)) >= 0);
-        (void) unit_get_io_accounting(u, metric, /* allow_cache= */ false, &value);
+        (void) unit_get_io_accounting(u, metric, &value);
         return sd_bus_message_append(reply, "t", value);
 }
 
index cebae4d53e48913e8a4e44b89e9a06d0b172295d..ae3cefcddea1e55ec41213c8b066ede8d941ee96 100644 (file)
@@ -2385,7 +2385,7 @@ static int unit_log_resources(Unit *u) {
 
                 assert(io_fields[k].journal_field);
 
-                (void) unit_get_io_accounting(u, k, k > 0, &value);
+                (void) unit_get_io_accounting(u, k, &value);
                 if (value == UINT64_MAX)
                         continue;