Messages in this thread | | | Date | Tue, 20 Oct 2020 19:24:02 +0200 | From | Michal Koutný <> | Subject | Re: [PATCH v3] mm: memcg/slab: Stop reparented obj_cgroups from charging root |
| |
Hi.
On Tue, Oct 20, 2020 at 06:52:08AM +0100, Richard Palethorpe <rpalethorpe@suse.de> wrote: > I don't think that is relevant as we get the memcg from objcg->memcg > which is set during reparenting. I suppose however, we can determine if > the objcg was reparented by inspecting memcg->objcg. +1
> If we just check use_hierarchy then objects directly charged to the > memcg where use_hierarchy=0 will not be uncharged. However, maybe it is > better to check if it was reparented and if use_hierarchy=0. I think (I had to make a table) the yielded condition would be:
if ((memcg->use_hierarchy && reparented) || (!mem_cgroup_is_root(memcg) && !reparented)) __memcg_kmem_uncharge(memcg, nr_pages);
(I admit it's not very readable.)
Michal [unhandled content-type:application/pgp-signature] | |