Re: [PATCH v2 26/28] mm: memcontrol: refactor memcg_reparent_objcgs()

From: Johannes Weiner

Date: Thu Dec 18 2025 - 08:45:50 EST


On Wed, Dec 17, 2025 at 03:27:50PM +0800, Qi Zheng wrote:
> +static void memcg_reparent_objcgs(struct mem_cgroup *src)
> +{
> + struct obj_cgroup *objcg = rcu_dereference_protected(src->objcg, true);
> + struct mem_cgroup *dst = parent_mem_cgroup(src);
> +
> + reparent_locks(src, dst);
> +
> + __memcg_reparent_objcgs(src, dst);

Please have __memcg_reparent_objcgs() return the dead objcg for the
percpu_ref_kill(), instead of doing the deref twice.

And please use @child, @parent (or @memcg, @parent) throughout instead
of @src and @dst.

> +
> + reparent_unlocks(src, dst);
>
> percpu_ref_kill(&objcg->refcnt);

With that,

Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>