* [PATCH] cgroup/cpu: document cpu.stat.local
@ 2026-06-25 13:07 Sun Shaojie
2026-06-25 14:05 ` Tao Cui
0 siblings, 1 reply; 2+ messages in thread
From: Sun Shaojie @ 2026-06-25 13:07 UTC (permalink / raw)
To: Tejun Heo, Johannes Weiner, Michal Koutný, Jonathan Corbet
Cc: Shuah Khan, cgroups, linux-doc, linux-kernel, Sun Shaojie
Add documentation for the cpu.stat.local interface file, which reports
the throttled_usec stat -- the actual throttling time incurred by the
cgroup's own runqueues, which may include throttling inherited from
ancestor cgroup bandwidth limits. Unlike cpu.stat's throttled_usec
which only accounts for throttling caused by the cgroup's own CFS
bandwidth limit.
When the controller is not enabled, the stat is not reported.
Signed-off-by: Sun Shaojie <sunshaojie@kylinos.cn>
---
Documentation/admin-guide/cgroup-v2.rst | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
index 993446ab66d0..a7766f40ef65 100644
--- a/Documentation/admin-guide/cgroup-v2.rst
+++ b/Documentation/admin-guide/cgroup-v2.rst
@@ -1160,6 +1160,23 @@ will be referred to. All time durations are in microseconds.
- nr_bursts
- burst_usec
+ cpu.stat.local
+ A read-only flat-keyed file which exists on non-root cgroups.
+ This file exists whether the controller is enabled or not.
+
+ It reports the following stat when the controller is enabled:
+
+ - throttled_usec
+
+ Unlike the ``throttled_usec`` reported by ``cpu.stat`` which
+ accounts for throttling caused by this cgroup's own CFS
+ bandwidth limit, ``cpu.stat.local`` reports the actual
+ throttling time incurred by this cgroup's own runqueues,
+ which may include throttling inherited from ancestor
+ cgroup bandwidth limits.
+
+ When the controller is not enabled, this stat is not reported.
+
cpu.weight
A read-write single value file which exists on non-root
cgroups. The default is "100".
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] cgroup/cpu: document cpu.stat.local
2026-06-25 13:07 [PATCH] cgroup/cpu: document cpu.stat.local Sun Shaojie
@ 2026-06-25 14:05 ` Tao Cui
0 siblings, 0 replies; 2+ messages in thread
From: Tao Cui @ 2026-06-25 14:05 UTC (permalink / raw)
To: Sun Shaojie, Tejun Heo, Johannes Weiner, Michal Koutný,
Jonathan Corbet
Cc: cui.tao, Shuah Khan, cgroups, linux-doc, linux-kernel
在 2026/6/25 21:07, Sun Shaojie 写道:
> Add documentation for the cpu.stat.local interface file, which reports
> the throttled_usec stat -- the actual throttling time incurred by the
> cgroup's own runqueues, which may include throttling inherited from
> ancestor cgroup bandwidth limits. Unlike cpu.stat's throttled_usec
> which only accounts for throttling caused by the cgroup's own CFS
> bandwidth limit.
>
> When the controller is not enabled, the stat is not reported.
>
> Signed-off-by: Sun Shaojie <sunshaojie@kylinos.cn>
> ---
> Documentation/admin-guide/cgroup-v2.rst | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> index 993446ab66d0..a7766f40ef65 100644
> --- a/Documentation/admin-guide/cgroup-v2.rst
> +++ b/Documentation/admin-guide/cgroup-v2.rst
> @@ -1160,6 +1160,23 @@ will be referred to. All time durations are in microseconds.
> - nr_bursts
> - burst_usec
>
> + cpu.stat.local
> + A read-only flat-keyed file which exists on non-root cgroups.
> + This file exists whether the controller is enabled or not.
> +
Hi Shaojie,
Thanks — the throttled_usec semantics are described correctly.
One fix needed: "exists on non-root cgroups" is inaccurate.
cpu.stat.local is registered without CFTYPE_NOT_ON_ROOT, so (like
cpu.stat) it exists on the root cgroup too:
$ cat /sys/fs/cgroup/cpu.stat.local
throttled_usec 0
Reviewed-by: Tao Cui <cuitao@kylinos.cn>
Thanks,
Tao
> + It reports the following stat when the controller is enabled:
> +
> + - throttled_usec
> +
> + Unlike the ``throttled_usec`` reported by ``cpu.stat`` which
> + accounts for throttling caused by this cgroup's own CFS
> + bandwidth limit, ``cpu.stat.local`` reports the actual
> + throttling time incurred by this cgroup's own runqueues,
> + which may include throttling inherited from ancestor
> + cgroup bandwidth limits.
> +
> + When the controller is not enabled, this stat is not reported.
> +
> cpu.weight
> A read-write single value file which exists on non-root
> cgroups. The default is "100".
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-06-25 14:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-25 13:07 [PATCH] cgroup/cpu: document cpu.stat.local Sun Shaojie
2026-06-25 14:05 ` Tao Cui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox