summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2017-02-23 00:46:31 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-23 01:41:30 +0100
commitda162e9368990ed747075e2ab427da0759fc4a59 (patch)
treed81981e4f2464b3ae0b421b29afcfb9fb7993380
parentmm, page_alloc: warn_alloc nodemask is NULL when cpusets are disabled (diff)
downloadlinux-da162e9368990ed747075e2ab427da0759fc4a59.tar.xz
linux-da162e9368990ed747075e2ab427da0759fc4a59.zip
mm: drop zap_details::ignore_dirty
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>
Diffstat (limited to '')
-rw-r--r--include/linux/mm.h1
-rw-r--r--mm/memory.c6
-rw-r--r--mm/oom_kill.c3
3 files changed, 1 insertions, 9 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 8a67cae5a07c..eae478a42f26 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -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 */
};
diff --git a/mm/memory.c b/mm/memory.c
index d7676a68c80a..88872a93c3ca 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -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);
}
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index c7b48b4282d9..33fcc8a40aeb 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -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;
/*