Re: [PATCH 0/3] OOM vs. freezer interaction fixes
From: Cong Wang
Date: Thu Oct 09 2014 - 00:42:54 EST
On Wed, Oct 8, 2014 at 7:07 AM, Michal Hocko <mhocko@xxxxxxx> wrote:
> Hi Andrew, Rafael,
> this has been originally discussed here  but didn't lead anywhere AFAICS
> so I would like to resurrect them.
Thanks a lot for taking them for me! I was busy with some networking
stuffs and also actually waiting for Rafael's response to your patch.
> The first and third patch are regression fixes and they are a stable
> material IMO. The second patch is a simple cleanup.
> The 1st patch is fixing a regression introduced in 3.3 since when OOM
> killer is not able to kill any frozen task and live lock as a result.
> The fix gets us back to the 3.2. As it turned out during the discussion 
> this was still not 100% sufficient and that's why we need the 3rd patch.
> I was thinking about the proper 1st vs. 3rd patch ordering because
> the 1st patch basically opens a race window fixed by the later patch.
> Original patch from Cong Wang has covered this by cgroup_freezing(current)
> check in should_thaw_current(). But this approach still suffers from OOM
> vs. PM freezer interaction (OOM killer would still live lock waiting for a
> PM frozen task this time).
It should be very rare OOM happens during PM frozen.
> So I think the most straight forward way is to address only OOM vs.
> frozen task interaction in the first patch, mark it for stable 3.3+ and
> leave the race to a separate follow up patch which is applicable to
> stable 3.2+ (before a3201227f803 made it inefficient).
> Switching 1st and 3rd patches would make some sense as well but then
> it might end up even more confusing because we would be fixing a
> non-existent issue in upstream first...
Agreed. Up to you, I have no strong opinions here. :)
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/