Merge branch 'fix/misc' into for-linus
[safe/jmp/linux-2.6] / mm / oom_kill.c
index 2370504..b68e802 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/oom.h>
 #include <linux/mm.h>
 #include <linux/err.h>
+#include <linux/gfp.h>
 #include <linux/sched.h>
 #include <linux/swap.h>
 #include <linux/timex.h>
@@ -401,8 +402,8 @@ static void __oom_kill_task(struct task_struct *p, int verbose)
                       "vsz:%lukB, anon-rss:%lukB, file-rss:%lukB\n",
                       task_pid_nr(p), p->comm,
                       K(p->mm->total_vm),
-                      K(get_mm_counter(p->mm, anon_rss)),
-                      K(get_mm_counter(p->mm, file_rss)));
+                      K(get_mm_counter(p->mm, MM_ANONPAGES)),
+                      K(get_mm_counter(p->mm, MM_FILEPAGES)));
        task_unlock(p);
 
        /*
@@ -473,6 +474,8 @@ void mem_cgroup_out_of_memory(struct mem_cgroup *mem, gfp_t gfp_mask)
        unsigned long points = 0;
        struct task_struct *p;
 
+       if (sysctl_panic_on_oom == 2)
+               panic("out of memory(memcg). panic_on_oom is selected.\n");
        read_lock(&tasklist_lock);
 retry:
        p = select_bad_process(&points, mem);
@@ -601,13 +604,6 @@ void pagefault_out_of_memory(void)
                /* Got some memory back in the last second. */
                return;
 
-       /*
-        * If this is from memcg, oom-killer is already invoked.
-        * and not worth to go system-wide-oom.
-        */
-       if (mem_cgroup_oom_called(current))
-               goto rest_and_return;
-
        if (sysctl_panic_on_oom)
                panic("out of memory from page fault. panic_on_oom is selected.\n");
 
@@ -619,7 +615,6 @@ void pagefault_out_of_memory(void)
         * Give "p" a good chance of killing itself before we
         * retry to allocate memory.
         */
-rest_and_return:
        if (!test_thread_flag(TIF_MEMDIE))
                schedule_timeout_uninterruptible(1);
 }