Re: [PATCH v10 4/9] cgroup: cgroup v2 freezer

From: Oleg Nesterov
Date: Fri Apr 26 2019 - 13:40:25 EST


On 04/24, Roman Gushchin wrote:
>
> On Wed, Apr 24, 2019 at 05:46:19PM +0200, Oleg Nesterov wrote:
> >
> > OK, how about the ABSOLUTELY UNTESTED patch below? For the start.
>
> It looks good to me (and all freezer selftests pass).
>
> Just to be sure, is it a solution to avoid the busy loop in the signal handling
> loop, right?

Yes,

> Because it doesn't allow to drop the ->frozen check from recalc().

Yes. Because we can race with unfreeze after leave_frozen().

> The JOBCTL_TRAP_FREEZE check without siglock initially looked dangerous to me,
> but after some thoughts I didn't find any case when it's wrong.

I think this is fine... Yes, JOBCTL_TRAP_FREEZE can be already set when we take
siglock, but I don't think we need to recheck this flag.

The only important thing (afaics) is that CGRP_FREEZE is stable under css_set_lock,
so we can't wrongly set TRAP_FREEZE.

> Do you prefer me to master a patch

Yes please ;)

Oleg.