diff options
Diffstat (limited to 'mm/oom_kill.c')
-rw-r--r-- | mm/oom_kill.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 8123fad5a485..78747afad6b0 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c | |||
@@ -302,7 +302,7 @@ void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, int order) | |||
302 | { | 302 | { |
303 | struct mm_struct *mm = NULL; | 303 | struct mm_struct *mm = NULL; |
304 | task_t *p; | 304 | task_t *p; |
305 | unsigned long points; | 305 | unsigned long points = 0; |
306 | 306 | ||
307 | if (printk_ratelimit()) { | 307 | if (printk_ratelimit()) { |
308 | printk("oom-killer: gfp_mask=0x%x, order=%d\n", | 308 | printk("oom-killer: gfp_mask=0x%x, order=%d\n", |
@@ -355,6 +355,7 @@ retry: | |||
355 | } | 355 | } |
356 | 356 | ||
357 | out: | 357 | out: |
358 | read_unlock(&tasklist_lock); | ||
358 | cpuset_unlock(); | 359 | cpuset_unlock(); |
359 | if (mm) | 360 | if (mm) |
360 | mmput(mm); | 361 | mmput(mm); |
@@ -364,5 +365,5 @@ out: | |||
364 | * retry to allocate memory unless "p" is current | 365 | * retry to allocate memory unless "p" is current |
365 | */ | 366 | */ |
366 | if (!test_thread_flag(TIF_MEMDIE)) | 367 | if (!test_thread_flag(TIF_MEMDIE)) |
367 | schedule_timeout_interruptible(1); | 368 | schedule_timeout_uninterruptible(1); |
368 | } | 369 | } |