]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
mm: drop zap_details::ignore_dirty
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Wed, 22 Feb 2017 23:46:31 +0000 (15:46 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 23 Feb 2017 00:41:30 +0000 (16:41 -0800)
The only user of ignore_dirty is oom-reaper.  But it doesn't really use
it.

ignore_dirty only has effect on file pages mapped with dirty pte.  But
oom-repear skips shared VMAs, so there's no way we can dirty file pte in
them.

Link: http://lkml.kernel.org/r/20170118122429.43661-1-kirill.shutemov@linux.intel.com
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/mm.h
mm/memory.c
mm/oom_kill.c

index 8a67cae5a07c092a7cac2c6b22b5129d26ec1380..eae478a42f26769d050472c17a15f39ad10f1f52 100644 (file)
@@ -1175,7 +1175,6 @@ struct zap_details {
        struct address_space *check_mapping;    /* Check page->mapping if set */
        pgoff_t first_index;                    /* Lowest page->index to unmap */
        pgoff_t last_index;                     /* Highest page->index to unmap */
-       bool ignore_dirty;                      /* Ignore dirty pages */
        bool check_swap_entries;                /* Check also swap entries */
 };
 
index d7676a68c80ab5d54ff6fd11447f4ac83fe5340f..88872a93c3caee54c5e67e7d11f92bebafcd31d7 100644 (file)
@@ -1155,12 +1155,6 @@ again:
 
                        if (!PageAnon(page)) {
                                if (pte_dirty(ptent)) {
-                                       /*
-                                        * oom_reaper cannot tear down dirty
-                                        * pages
-                                        */
-                                       if (unlikely(details && details->ignore_dirty))
-                                               continue;
                                        force_flush = 1;
                                        set_page_dirty(page);
                                }
index c7b48b4282d9b4cbb99c50e005f1081b8cf7666e..33fcc8a40aeb6d3cc782bb7ea95d2689900aa924 100644 (file)
@@ -465,8 +465,7 @@ 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};
+       struct zap_details details = {.check_swap_entries = true};
        bool ret = true;
 
        /*