Skip to content

Commit

Permalink
mm: use pagevec_lookup_range_tag() in write_cache_pages()
Browse files Browse the repository at this point in the history
Use pagevec_lookup_range_tag() in write_cache_pages() as it is
interested only in pages from given range.  Remove unnecessary code
resulting from this.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Jan Kara <[email protected]>
Reviewed-by: Daniel Jordan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
jankara authored and Jaegeuk Kim committed Jul 9, 2018
1 parent 027f74c commit 5a9fa92
Showing 1 changed file with 2 additions and 18 deletions.
20 changes: 2 additions & 18 deletions mm/page-writeback.c
Original file line number Diff line number Diff line change
Expand Up @@ -1874,30 +1874,14 @@ int write_cache_pages(struct address_space *mapping,
while (!done && (index <= end)) {
int i;

nr_pages = pagevec_lookup_tag(&pvec, mapping, &index, tag,
min(end - index, (pgoff_t)PAGEVEC_SIZE-1) + 1);
nr_pages = pagevec_lookup_range_tag(&pvec, mapping, &index, end,
tag, PAGEVEC_SIZE);
if (nr_pages == 0)
break;

for (i = 0; i < nr_pages; i++) {
struct page *page = pvec.pages[i];

/*
* At this point, the page may be truncated or
* invalidated (changing page->mapping to NULL), or
* even swizzled back from swapper_space to tmpfs file
* mapping. However, page->index will not change
* because we have a reference on the page.
*/
if (page->index > end) {
/*
* can't be range_cyclic (1st pass) because
* end == -1 in that case.
*/
done = 1;
break;
}

done_index = page->index;

lock_page(page);
Expand Down

0 comments on commit 5a9fa92

Please sign in to comment.