Commit ed657e55 authored by Wei Yang's avatar Wei Yang Committed by Andrew Morton

mm/vmscan: don't use NUMA_NO_NODE as indicator of page on different node

Now we are sure there is at least one page on page_list, so it is safe to
get the nid of it.  This means it is not necessary to use NUMA_NO_NODE as
an indicator for the beginning of iteration or a page on different node.

Link: https://lkml.kernel.org/r/20220429014426.29223-2-richard.weiyang@gmail.comSigned-off-by: default avatarWei Yang <richard.weiyang@gmail.com>
Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Cc: Minchan Kim <minchan@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 1ae65e27
...@@ -2562,7 +2562,7 @@ static unsigned int reclaim_page_list(struct list_head *page_list, ...@@ -2562,7 +2562,7 @@ static unsigned int reclaim_page_list(struct list_head *page_list,
unsigned long reclaim_pages(struct list_head *page_list) unsigned long reclaim_pages(struct list_head *page_list)
{ {
int nid = NUMA_NO_NODE; int nid;
unsigned int nr_reclaimed = 0; unsigned int nr_reclaimed = 0;
LIST_HEAD(node_page_list); LIST_HEAD(node_page_list);
struct page *page; struct page *page;
...@@ -2573,10 +2573,9 @@ unsigned long reclaim_pages(struct list_head *page_list) ...@@ -2573,10 +2573,9 @@ unsigned long reclaim_pages(struct list_head *page_list)
noreclaim_flag = memalloc_noreclaim_save(); noreclaim_flag = memalloc_noreclaim_save();
nid = page_to_nid(lru_to_page(page_list));
do { do {
page = lru_to_page(page_list); page = lru_to_page(page_list);
if (nid == NUMA_NO_NODE)
nid = page_to_nid(page);
if (nid == page_to_nid(page)) { if (nid == page_to_nid(page)) {
ClearPageActive(page); ClearPageActive(page);
...@@ -2585,7 +2584,7 @@ unsigned long reclaim_pages(struct list_head *page_list) ...@@ -2585,7 +2584,7 @@ unsigned long reclaim_pages(struct list_head *page_list)
} }
nr_reclaimed += reclaim_page_list(&node_page_list, NODE_DATA(nid)); nr_reclaimed += reclaim_page_list(&node_page_list, NODE_DATA(nid));
nid = NUMA_NO_NODE; nid = page_to_nid(lru_to_page(page_list));
} while (!list_empty(page_list)); } while (!list_empty(page_list));
nr_reclaimed += reclaim_page_list(&node_page_list, NODE_DATA(nid)); nr_reclaimed += reclaim_page_list(&node_page_list, NODE_DATA(nid));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment