Hello Maarten. On Tue, Aug 19, 2025 at 01:49:33PM +0200, Maarten Lankhorst <d...@lankhorst.se> wrote: > Implementation details: > > For each cgroup up until the root cgroup, the 'min' limit is checked > against currently effectively pinned value. If the value will go above > 'min', the pinning attempt is rejected.
How is pinning different from setting a 'min' limit (from a user perspective)? > > Pinned memory is handled slightly different and affects calculating > effective min/low values. Pinned memory is subtracted from both, > and needs to be added afterwards when calculating. > > This is because increasing the amount of pinned memory, the amount of > free min/low memory decreases for all cgroups that are part of the > hierarchy. What is supposed to happen with pinned memory after cgroup removal? I find the page_counter changes little bit complex without understanding of the difference between min and pinned. Should this be conceptually similar to memory.stat:unevictable? Or rather mlock(2)? So far neither of those needed interaction with min/low values (in memcg). Thanks, Michal
signature.asc
Description: PGP signature