]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/oom_kill.c
Merge branch 'next/late' with mainline
[karo-tx-linux.git] / mm / oom_kill.c
index ec9f11d4f094467e98b8190b7195379174d6be0a..8256788ac119679cb66d3b5b63c6797ba384d506 100644 (file)
@@ -417,7 +417,7 @@ static void dump_header(struct oom_control *oc, struct task_struct *p)
        if (oc->memcg)
                mem_cgroup_print_oom_info(oc->memcg, p);
        else
-               show_mem(SHOW_MEM_FILTER_NODES);
+               show_mem(SHOW_MEM_FILTER_NODES, nm);
        if (sysctl_oom_dump_tasks)
                dump_tasks(oc->memcg, oc->nodemask);
 }
@@ -465,8 +465,6 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm)
 {
        struct mmu_gather tlb;
        struct vm_area_struct *vma;
-       struct zap_details details = {.check_swap_entries = true,
-                                     .ignore_dirty = true};
        bool ret = true;
 
        /*
@@ -510,14 +508,7 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm)
 
        tlb_gather_mmu(&tlb, mm, 0, -1);
        for (vma = mm->mmap ; vma; vma = vma->vm_next) {
-               if (is_vm_hugetlb_page(vma))
-                       continue;
-
-               /*
-                * mlocked VMAs require explicit munlocking before unmap.
-                * Let's keep it simple here and skip such VMAs.
-                */
-               if (vma->vm_flags & VM_LOCKED)
+               if (!can_madv_dontneed_vma(vma))
                        continue;
 
                /*
@@ -532,7 +523,7 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm)
                 */
                if (vma_is_anonymous(vma) || !(vma->vm_flags & VM_SHARED))
                        unmap_page_range(&tlb, vma, vma->vm_start, vma->vm_end,
-                                        &details);
+                                        NULL);
        }
        tlb_finish_mmu(&tlb, 0, -1);
        pr_info("oom_reaper: reaped process %d (%s), now anon-rss:%lukB, file-rss:%lukB, shmem-rss:%lukB\n",
@@ -1013,7 +1004,7 @@ bool out_of_memory(struct oom_control *oc)
         * make sure exclude 0 mask - all other users should have at least
         * ___GFP_DIRECT_RECLAIM to get here.
         */
-       if (oc->gfp_mask && !(oc->gfp_mask & (__GFP_FS|__GFP_NOFAIL)))
+       if (oc->gfp_mask && !(oc->gfp_mask & __GFP_FS))
                return true;
 
        /*