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>
This commit is contained in:
parent
685dbf6f5a
commit
da162e9368
|
@ -1175,7 +1175,6 @@ struct zap_details {
|
||||||
struct address_space *check_mapping; /* Check page->mapping if set */
|
struct address_space *check_mapping; /* Check page->mapping if set */
|
||||||
pgoff_t first_index; /* Lowest page->index to unmap */
|
pgoff_t first_index; /* Lowest page->index to unmap */
|
||||||
pgoff_t last_index; /* Highest 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 */
|
bool check_swap_entries; /* Check also swap entries */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1155,12 +1155,6 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb,
|
||||||
|
|
||||||
if (!PageAnon(page)) {
|
if (!PageAnon(page)) {
|
||||||
if (pte_dirty(ptent)) {
|
if (pte_dirty(ptent)) {
|
||||||
/*
|
|
||||||
* oom_reaper cannot tear down dirty
|
|
||||||
* pages
|
|
||||||
*/
|
|
||||||
if (unlikely(details && details->ignore_dirty))
|
|
||||||
continue;
|
|
||||||
force_flush = 1;
|
force_flush = 1;
|
||||||
set_page_dirty(page);
|
set_page_dirty(page);
|
||||||
}
|
}
|
||||||
|
|
|
@ -465,8 +465,7 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm)
|
||||||
{
|
{
|
||||||
struct mmu_gather tlb;
|
struct mmu_gather tlb;
|
||||||
struct vm_area_struct *vma;
|
struct vm_area_struct *vma;
|
||||||
struct zap_details details = {.check_swap_entries = true,
|
struct zap_details details = {.check_swap_entries = true};
|
||||||
.ignore_dirty = true};
|
|
||||||
bool ret = true;
|
bool ret = true;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue