On Thu, Aug 21, 2025 at 06:37:51PM -0700, Tiffany Yang wrote:
Hello,
The cgroup v2 freezer controller is useful for freezing background applications so they don't contend with foreground tasks. However, this may disrupt any internal monitoring that the application is performing, as it may not be aware that it was frozen.
To illustrate, an application might implement a watchdog thread to monitor a high-priority task by periodically checking its state to ensure progress. The challenge is that the task only advances when the application is running, but watchdog timers are set relative to system time, not app time. If the app is frozen and misses the expected deadline, the watchdog, unaware of this pause, may kill a healthy process.
This series tracks the time that each cgroup spends "freezing" and exposes it via cgroup.stat.local. Include several basic selftests to demonstrate the expected behavior of this interface, including that:
- Freeze time will increase while a cgroup is freezing, regardless of whether it is frozen or not.
- Each cgroup's freeze time is independent from the other cgroups in its hierarchy.
Thanks, Tiffany
Signed-off-by: Tiffany Yang ynaffit@google.com
Applied to cgroup/for-6.18. Let's address further issues incrementally.
Thanks.