mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-11 15:49:56 +00:00
mm: vmscan: remove remains of kswapd-managed zone->all_unreclaimable
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 commit 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@cmpxchg.org> Acked-by: Mel Gorman <mgorman@suse.de> Cc: Rik van Riel <riel@redhat.com> Acked-by: Michal Hocko <mhocko@suse.cz> Cc: Vlastimil Babka <vbabka@suse.cz> Acked-by: Minchan Kim <minchan@kernel.org> Cc: KOSAKI Motohiro <Kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
1a4dc5bc7c
commit
8d07429319
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user