diff --git a/mm/oom_kill.c b/mm/oom_kill.c index d348b9035955e5a0ba91af683880ac0e41996fd0..4748b906aff23451c9bbf838ddc1add16bbf1cc9 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -298,7 +298,8 @@ void out_of_memory(gfp_t gfp_mask, int order) /* * Give "p" a good chance of killing itself before we - * retry to allocate memory. + * retry to allocate memory unless "p" is current */ - schedule_timeout_interruptible(1); + if (!test_thread_flag(TIF_MEMDIE)) + schedule_timeout_interruptible(1); }