On Fri 20-06-14 12:33:47, Johannes Weiner wrote: > shrink_zones() has a special branch to skip the all_unreclaimable() > check during hibernation, because a frozen kswapd can't mark a zone > unreclaimable. > > But ever since 6e543d5780e3 ("mm: vmscan: fix do_try_to_free_pages() > livelock"), determining a zone to be unreclaimable is done by directly > looking at its scan history and no longer relies on kswapd setting the > per-zone flag. > > Remove this branch and let shrink_zones() check the reclaimability of > the target zones regardless of hibernation state. > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> This code is really tricky :/ But the patch looks good to me. Acked-by: Michal Hocko <mhocko@xxxxxxx> > --- > mm/vmscan.c | 8 -------- > 1 file changed, 8 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 0f16ffe8eb67..19b5b8016209 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2534,14 +2534,6 @@ out: > if (sc->nr_reclaimed) > return sc->nr_reclaimed; > > - /* > - * As hibernation is going on, kswapd is freezed so that it can't mark > - * the zone into all_unreclaimable. Thus bypassing all_unreclaimable > - * check. > - */ > - if (oom_killer_disabled) > - return 0; > - > /* Aborted reclaim to try compaction? don't OOM, then */ > if (aborted_reclaim) > return 1; > -- > 2.0.0 > -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>