Re: [PATCH 4/6] cgroups: forbid pre_destroy callback to fail

Li Zefan
2012-10-19T09:33:56Z

On 2012/10/17 21:30, Michal Hocko wrote:
> Now that mem_cgroup_pre_destroy callback doesn't fail finally we can
> safely move on and forbit all the callbacks to fail. The last missing
> piece is moving cgroup_call_pre_destroy after cgroup_clear_css_refs so
> that css_tryget fails so no new charges for the memcg can happen.

> The callbacks are also called from within cgroup_lock to guarantee that
> no new tasks show up.

I'm afraid this won't work. See commit 3fa59dfbc3b223f02c26593be69ce6fc9a940405
("cgroup: fix potential deadlock in pre_destroy")

> We could theoretically call them outside of the
> lock but then we have to move after CGRP_REMOVED flag is set.
>
> Signed-off-by: Michal Hocko <mhocko@suse.cz>
> ---
> kernel/cgroup.c | 30 +++++++++---------------------
> 1 file changed, 9 insertions(+), 21 deletions(-)