cgroup rstat's advanced adoption
summary
Describes how the cgroup rstat recursive stats use a per‑CPU update tree and global flushes that aggregate per‑CPU replicas; claims adding many memcg counters should make amortized flush work grow quadratically under lazy flushing with error threshold. Builds an intrusive experiment that masks counters, runs parallel Linux kernel compiles under a memory limit, and measures flush times on a 48‑CPU machine with ~100+ counters. Observes bimodal flush durations, no clear quadratic growth, and notes an atomic‑increment optimization that clips error updates.
AI-written summary · about
chapters (6)
- 0:00Introduction to rstat
- 2:08Framework overview and terminology
- 7:53Readers and precision requirements
- 13:19Lazy flushing theory
- 16:36Experimental setup and results
- 22:26Optimizations and future discussion
related talks
35mFuture-Proof Your Applications: Avoid Breakdowns With Cgroup Chan...
27mWhen Linux Memory Accounting Goes Wrong
38mUnderstanding and Working with the Cgroups Interface
30mdrm and cgroup memory management - two great tastes
42mcgroup2 Resource Control strategies w/ resctl-demo
41mLinux Systems Performance
42m"cgroup2 Resource Control strategies w/ resctl-demo"
45mRCU Office Hour
