Hi. On Fri, Mar 13, 2026 at 12:40:05PM +0100, Natalie Vock wrote: > However, if we always calculate protection from the root cgroup, this > breaks prioritization of sibling cgroups: If one cgroup was explicitly > protected and its siblings were not, the protected cgroup should get > higher priority, i.e. the protected cgroup should be able to steal from > unprotected siblings. This only works if we restrict the protection > calculation to the subtree shared by evictor and evictee. When there are thee siblings A, B, C where A has protection and C is doing a new allocation (evictor) but hits a limit on L, what effective values to A would be applied in the respective cases below? Case 1) L dmem.max `- A dmem.low `- B `- C (alloc) Case 2) L dmem.max `- M // dmem.low=0 `- A dmem.low `- B `- C (alloc) I think it should be the configured A:dmem.low in the first case but zero in the latter case because M has no protection configured. -- Is that correct? Thanks, Michal