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

From: Tejun Heo
Date: Fri Sep 12 2014 - 19:59:48 EST


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.

Thanks.

--
tejun
--
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/