aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-03-06 14:24:21 +0100
committerTakashi Iwai <tiwai@suse.de>2015-03-06 14:24:21 +0100
commit4fda87df09bee2b1bf236aba408c3236d4f1fbca (patch)
treef1ec4a5b8696c89141bcdc25b6920b3caf5c9f97 /mm/page_alloc.c
parentALSA: hda - One more Dell macine needs DELL1_MIC_NO_PRESENCE quirk (diff)
parentMerge remote-tracking branch 'asoc/fix/sta32x' into asoc-linus (diff)
downloadwireguard-linux-4fda87df09bee2b1bf236aba408c3236d4f1fbca.tar.xz
wireguard-linux-4fda87df09bee2b1bf236aba408c3236d4f1fbca.zip
Merge tag 'asoc-fix-v4.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v4.0 A few driver specific fixes here, none of them earth shattering in themselves, that have accumliated since the opening of the merge window.
Diffstat (limited to '')
-rw-r--r--mm/page_alloc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index a47f0b229a1a..7abfa70cdc1a 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2353,8 +2353,15 @@ __alloc_pages_may_oom(gfp_t gfp_mask, unsigned int order,
if (ac->high_zoneidx < ZONE_NORMAL)
goto out;
/* The OOM killer does not compensate for light reclaim */
- if (!(gfp_mask & __GFP_FS))
+ if (!(gfp_mask & __GFP_FS)) {
+ /*
+ * XXX: Page reclaim didn't yield anything,
+ * and the OOM killer can't be invoked, but
+ * keep looping as per should_alloc_retry().
+ */
+ *did_some_progress = 1;
goto out;
+ }
/*
* GFP_THISNODE contains __GFP_NORETRY and we never hit this.
* Sanity check for bare calls of __GFP_THISNODE, not real OOM.