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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/