summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/page_alloc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 3583f7195d5b..a762be57e46e 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2858,8 +2858,12 @@ __alloc_pages_may_oom(gfp_t gfp_mask, unsigned int order,
2858 * XXX: Page reclaim didn't yield anything, 2858 * XXX: Page reclaim didn't yield anything,
2859 * and the OOM killer can't be invoked, but 2859 * and the OOM killer can't be invoked, but
2860 * keep looping as per tradition. 2860 * keep looping as per tradition.
2861 *
2862 * But do not keep looping if oom_killer_disable()
2863 * was already called, for the system is trying to
2864 * enter a quiescent state during suspend.
2861 */ 2865 */
2862 *did_some_progress = 1; 2866 *did_some_progress = !oom_killer_disabled;
2863 goto out; 2867 goto out;
2864 } 2868 }
2865 if (pm_suspended_storage()) 2869 if (pm_suspended_storage())