On Mon, Jul 23, 2018 at 01:33:19PM -0700, David Rientjes wrote: > On Mon, 16 Jul 2018, David Rientjes wrote: > > > > And "tree" is different. It actually changes how the selection algorithm works, > > > and sub-tree settings do matter in this case. > > > > > > > "Tree" is considering the entity as a single indivisible memory consumer, > > it is compared with siblings based on its hierarhical usage. It has > > cgroup oom policy. > > > > It would be possible to separate this out, if you'd prefer, to account > > an intermediate cgroup as the largest descendant or the sum of all > > descendants. I hadn't found a usecase for that, however, but it doesn't > > mean there isn't one. If you'd like, I can introduce another tunable. > > > > Roman, I'm trying to make progress so that the cgroup aware oom killer is > in a state that it can be merged. Would you prefer a second tunable here > to specify a cgroup's points includes memory from its subtree? Hi, David! It's hard to tell, because I don't have a clear picture of what you're suggesting now. My biggest concern about your last version was that it's hard to tell what oom_policy really defines. Each value has it's own application rules, which is a bit messy (some values are meaningful for OOMing cgroup only, other are reading on hierarchy traversal). If you know how to make it clear and non-contradictory, please, describe the proposed interface. > > It would be helpful if you would also review the rest of the patchset. I think, that we should focus on interface semantics right now. If we can't agree on how the things should work, it makes no sense to discuss the implementation. Thanks!