From: Minchan Kim <minchan@kernel.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: LKML <linux-kernel@vger.kernel.org>, linux-mm <linux-mm@kvack.org>, Michal Hocko <mhocko@suse.com>, Johannes Weiner <hannes@cmpxchg.org>, Tim Murray <timmurray@google.com>, Joel Fernandes <joel@joelfernandes.org>, Suren Baghdasaryan <surenb@google.com>, Daniel Colascione <dancol@google.com>, Shakeel Butt <shakeelb@google.com>, Sonny Rao <sonnyrao@google.com>, Brian Geffon <bgeffon@google.com>, Minchan Kim <minchan@kernel.org> Subject: [RFC 2/7] mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIM Date: Mon, 20 May 2019 12:52:49 +0900 [thread overview] Message-ID: <20190520035254.57579-3-minchan@kernel.org> (raw) In-Reply-To: <20190520035254.57579-1-minchan@kernel.org> The local variable references in shrink_page_list is PAGEREF_RECLAIM_CLEAN as default. It is for preventing to reclaim dirty pages when CMA try to migrate pages. Strictly speaking, we don't need it because CMA didn't allow to write out by .may_writepage = 0 in reclaim_clean_pages_from_list. Moreover, it has a problem to prevent anonymous pages's swap out even though force_reclaim = true in shrink_page_list on upcoming patch. So this patch makes references's default value to PAGEREF_RECLAIM and rename force_reclaim with skip_reference_check to make it more clear. This is a preparatory work for next patch. Signed-off-by: Minchan Kim <minchan@kernel.org> --- mm/vmscan.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index d9c3e873eca6..a28e5d17b495 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1102,7 +1102,7 @@ static unsigned long shrink_page_list(struct list_head *page_list, struct scan_control *sc, enum ttu_flags ttu_flags, struct reclaim_stat *stat, - bool force_reclaim) + bool skip_reference_check) { LIST_HEAD(ret_pages); LIST_HEAD(free_pages); @@ -1116,7 +1116,7 @@ static unsigned long shrink_page_list(struct list_head *page_list, struct address_space *mapping; struct page *page; int may_enter_fs; - enum page_references references = PAGEREF_RECLAIM_CLEAN; + enum page_references references = PAGEREF_RECLAIM; bool dirty, writeback; cond_resched(); @@ -1248,7 +1248,7 @@ static unsigned long shrink_page_list(struct list_head *page_list, } } - if (!force_reclaim) + if (!skip_reference_check) references = page_check_references(page, sc); switch (references) { -- 2.21.0.1020.gf2820cf01a-goog
next prev parent reply other threads:[~2019-05-20 3:53 UTC|newest] Thread overview: 138+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-20 3:52 [RFC 0/7] introduce memory hinting API for external process Minchan Kim 2019-05-20 3:52 ` [RFC 1/7] mm: introduce MADV_COOL Minchan Kim 2019-05-20 8:16 ` Michal Hocko 2019-05-20 8:19 ` Michal Hocko 2019-05-20 15:08 ` Suren Baghdasaryan 2019-05-20 22:55 ` Minchan Kim 2019-05-20 22:54 ` Minchan Kim 2019-05-21 6:04 ` Michal Hocko 2019-05-21 9:11 ` Minchan Kim 2019-05-21 10:05 ` Michal Hocko 2019-05-28 8:53 ` Hillf Danton 2019-05-28 10:58 ` Minchan Kim 2019-05-20 3:52 ` Minchan Kim [this message] 2019-05-20 16:50 ` [RFC 2/7] mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIM Johannes Weiner 2019-05-20 22:57 ` Minchan Kim 2019-05-20 3:52 ` [RFC 3/7] mm: introduce MADV_COLD Minchan Kim 2019-05-20 8:27 ` Michal Hocko 2019-05-20 23:00 ` Minchan Kim 2019-05-21 6:08 ` Michal Hocko 2019-05-21 9:13 ` Minchan Kim 2019-05-28 14:54 ` Hillf Danton 2019-05-30 0:45 ` Minchan Kim 2019-05-20 3:52 ` [RFC 4/7] mm: factor out madvise's core functionality Minchan Kim 2019-05-20 14:26 ` Oleksandr Natalenko 2019-05-21 1:26 ` Minchan Kim 2019-05-21 6:36 ` Oleksandr Natalenko 2019-05-21 6:50 ` Michal Hocko 2019-05-21 7:06 ` Oleksandr Natalenko 2019-05-21 10:52 ` Minchan Kim 2019-05-21 11:00 ` Michal Hocko 2019-05-21 11:24 ` Minchan Kim 2019-05-21 11:32 ` Michal Hocko 2019-05-21 10:49 ` Minchan Kim 2019-05-21 10:55 ` Michal Hocko 2019-05-20 3:52 ` [RFC 5/7] mm: introduce external memory hinting API Minchan Kim 2019-05-20 9:18 ` Michal Hocko 2019-05-21 2:41 ` Minchan Kim 2019-05-21 6:17 ` Michal Hocko 2019-05-21 10:32 ` Minchan Kim 2019-05-21 9:01 ` Christian Brauner 2019-05-21 11:35 ` Minchan Kim 2019-05-21 11:51 ` Christian Brauner 2019-05-21 15:31 ` Oleg Nesterov 2019-05-27 7:43 ` Minchan Kim 2019-05-27 15:12 ` Oleg Nesterov 2019-05-27 23:33 ` Minchan Kim 2019-05-28 7:23 ` Michal Hocko 2019-05-29 3:41 ` Hillf Danton 2019-05-30 0:38 ` Minchan Kim 2019-05-20 3:52 ` [RFC 6/7] mm: extend process_madvise syscall to support vector arrary Minchan Kim 2019-05-20 9:22 ` Michal Hocko 2019-05-21 2:48 ` Minchan Kim 2019-05-21 6:24 ` Michal Hocko 2019-05-21 10:26 ` Minchan Kim 2019-05-21 10:37 ` Michal Hocko 2019-05-27 7:49 ` Minchan Kim 2019-05-29 10:08 ` Daniel Colascione 2019-05-29 10:33 ` Michal Hocko 2019-05-30 2:17 ` Minchan Kim 2019-05-30 6:57 ` Michal Hocko 2019-05-30 8:02 ` Minchan Kim 2019-05-30 16:19 ` Daniel Colascione 2019-05-30 18:47 ` Michal Hocko 2019-05-29 4:14 ` Hillf Danton 2019-05-30 0:35 ` Minchan Kim 2019-05-20 3:52 ` [RFC 7/7] mm: madvise support MADV_ANONYMOUS_FILTER and MADV_FILE_FILTER Minchan Kim 2019-05-20 9:28 ` Michal Hocko 2019-05-21 2:55 ` Minchan Kim 2019-05-21 6:26 ` Michal Hocko 2019-05-27 7:58 ` Minchan Kim 2019-05-27 12:44 ` Michal Hocko 2019-05-28 3:26 ` Minchan Kim 2019-05-28 6:29 ` Michal Hocko 2019-05-28 8:13 ` Minchan Kim 2019-05-28 8:31 ` Daniel Colascione 2019-05-28 8:49 ` Minchan Kim 2019-05-28 9:08 ` Michal Hocko 2019-05-28 9:39 ` Daniel Colascione 2019-05-28 10:33 ` Michal Hocko 2019-05-28 11:21 ` Daniel Colascione 2019-05-28 11:49 ` Michal Hocko 2019-05-28 12:11 ` Daniel Colascione 2019-05-28 12:32 ` Michal Hocko 2019-05-28 10:32 ` Minchan Kim 2019-05-28 10:41 ` Michal Hocko 2019-05-28 11:12 ` Minchan Kim 2019-05-28 11:28 ` Michal Hocko 2019-05-28 11:42 ` Daniel Colascione 2019-05-28 11:56 ` Michal Hocko 2019-05-28 12:18 ` Daniel Colascione 2019-05-28 12:38 ` Michal Hocko 2019-05-28 12:10 ` Minchan Kim 2019-05-28 11:44 ` Minchan Kim 2019-05-28 11:51 ` Daniel Colascione 2019-05-28 12:06 ` Michal Hocko 2019-05-28 12:22 ` Minchan Kim 2019-05-28 11:28 ` Daniel Colascione 2019-05-21 15:33 ` Johannes Weiner 2019-05-22 1:50 ` Minchan Kim 2019-05-29 4:36 ` Hillf Danton 2019-05-30 1:00 ` Minchan Kim 2019-05-20 6:37 ` [RFC 0/7] introduce memory hinting API for external process Anshuman Khandual 2019-05-20 16:59 ` Tim Murray 2019-05-21 2:55 ` Anshuman Khandual 2019-05-21 5:14 ` Minchan Kim 2019-05-21 10:34 ` Michal Hocko 2019-05-28 10:50 ` Anshuman Khandual 2019-05-21 12:56 ` Shakeel Butt 2019-05-22 4:15 ` Brian Geffon 2019-05-22 4:23 ` Brian Geffon 2019-05-20 9:28 ` Michal Hocko 2019-05-20 14:42 ` Oleksandr Natalenko 2019-05-21 2:56 ` Minchan Kim 2019-05-20 16:46 ` Johannes Weiner 2019-05-21 4:39 ` Minchan Kim 2019-05-21 6:32 ` Michal Hocko 2019-05-21 1:44 ` Matthew Wilcox 2019-05-21 5:01 ` Minchan Kim 2019-05-21 6:34 ` Michal Hocko 2019-05-21 8:42 ` Christian Brauner 2019-05-21 11:05 ` Minchan Kim 2019-05-21 11:30 ` Christian Brauner 2019-05-21 11:39 ` Christian Brauner 2019-05-22 5:11 ` Daniel Colascione 2019-05-22 8:22 ` Christian Brauner 2019-05-22 13:16 ` Daniel Colascione 2019-05-22 14:52 ` Christian Brauner 2019-05-22 15:17 ` Daniel Colascione 2019-05-22 15:48 ` Christian Brauner 2019-05-22 15:57 ` Daniel Colascione 2019-05-22 16:01 ` Christian Brauner 2019-05-22 16:01 ` Daniel Colascione 2019-05-23 13:07 ` Minchan Kim 2019-05-27 8:06 ` Minchan Kim 2019-05-21 11:41 ` Minchan Kim 2019-05-21 12:04 ` Christian Brauner 2019-05-21 12:15 ` Oleksandr Natalenko 2019-05-21 12:53 ` Shakeel Butt
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190520035254.57579-3-minchan@kernel.org \ --to=minchan@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=bgeffon@google.com \ --cc=dancol@google.com \ --cc=hannes@cmpxchg.org \ --cc=joel@joelfernandes.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mhocko@suse.com \ --cc=shakeelb@google.com \ --cc=sonnyrao@google.com \ --cc=surenb@google.com \ --cc=timmurray@google.com \ --subject='Re: [RFC 2/7] mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIM' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).