Re: [Patch v4 1/2] freezer: check OOM kill while being frozen

From: Rafael J. Wysocki
Date: Sun Sep 14 2014 - 12:24:01 EST


On Saturday, September 13, 2014 08:59:35 AM Tejun Heo wrote:
> On Thu, Sep 11, 2014 at 06:30:04PM +0200, Michal Hocko wrote:
> > > I am wondering if the folllowing check makes any sense with regarding
> > > to rule out PM freeze:
> > >
> > > if ((!pm_nosig_freezing && !pm_freezing) &&
> > > cgroup_freezing(current) && test_thread_flag(TIF_MEMDIE))
> > > return true;
>
> Doesn't this mean that if PM freezing and OOM killing race each other,
> the system may hang? Driver PM operation may try to allocate memory
> -> triggers OOM -> OOM killer selects an already frozen task ->
> nothing happens. I wonder whether OOM killing and PM operations
> should be mutually exclusive at a higher level. e.g. make OOM killing
> always override freezing but let hibernation abort operation before
> taking snapshot if OOM killing has happened since the beginning of the
> PM operation.

As Michal noted, we do oom_killer_disable() in freeze_processes(), so the
scenario above cannot actually happen to my eyes. Or am I missing anything?

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/