On Thu, Dec 07, 2023 at 05:37:06PM +0100, Michal Koutný wrote: > Hello. > > It does. Memory controller cannot be passed down to a threaded subtree (i.e. you > only get memcg for the whole `docker` subtree) because memory controller > is not threaded (e.g. two threads that share memory space but could be > in two different cgroups make no sense for such a controller). > > > Any clue? Is there some bug here or could be some problem with kernel > > build/config? > > And why your cgroup subtree is threaded? I suspect because of some > threaded controllers were passed down [1] the tree while there are also some > internal node processes (see cgroups(7) paragraph beginning with: "The > second way of creating a threaded subtree"). > > To get out of this, your docker(?) needs to migrate all processes down > from `docker` cgroup before enabling the memory controller. > Hi! Thanks for the reply and excuse me the delay, all that I investigated seemed correctly so I was still thinking that there was something wrong in the kernel.... But finally the problem is not docker, is openrc who creates initially '/sys/fs/cgroup/docker'. Avoiding that both openrc and docker use the same path fixes the problem.