On Thu 02-02-23 10:24:08, Shakeel Butt wrote: > On Thu, Feb 2, 2023 at 12:27 AM Michal Hocko <mhocko@xxxxxxxx> wrote: > > > > On Thu 02-02-23 12:32:57, zhaoyang.huang wrote: > > > From: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx> > > > > > > Introducing memory.root_current for the memory charges on root_mem_cgroup. > > > > Charges are not currently accounted for the root memcg universally. See > > try_charge which is used for all user space and skmem charges. I am not > > 100% sure about objcg based accounting because there is no explicit > > check for the root memcg but this might be hidden somewhere as well. > > Yes in __get_obj_cgroup_from_memcg(). However the reason to use > try_charge_memcg() to bypass root check was to avoid the race with > reparenting. More details in c5c8b16b596e ("mm: memcontrol: fix > root_mem_cgroup charging"). Thanks for the pointer! > > That means that the patch as is doesn't really provide and usable value. > > The root exemption has been removed in the past but that has been > > reverted due to a regression. See ce00a967377b ("mm: memcontrol: revert > > use of root_mem_cgroup res_counter") for more. > > > > One advantage I can see is if someone is looking for usage for all top > containers (alive or zombie) but I wanted to know if that was the real > motivation behind the patch. Isn't that just a global stats that we already display via /proc files? -- Michal Hocko SUSE Labs