Skip to content

Commit

Permalink
ext4: fix prefetchw of NULL page
Browse files Browse the repository at this point in the history
In ext4_mpage_readpages(), if the parameter pages is not NULL, another
parameter page is NULL. At the first time prefetchw(&page->flags)
works on NULL. From second time, prefetchw(&page->flags) always works on
the last consumed page. This might do little improvment for handling
current page. So prefetchw() should be called while the page pointer
has just been updated.

Signed-off-by: Liu Xiang <liu.xiang6@zte.com.cn>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
  • Loading branch information
Liu Xiang authored and tytso committed Apr 7, 2019
1 parent 742b06b commit d454a27
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion fs/ext4/readpage.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,10 @@ int ext4_mpage_readpages(struct address_space *mapping,
int fully_mapped = 1;
unsigned first_hole = blocks_per_page;

prefetchw(&page->flags);
if (pages) {
page = lru_to_page(pages);

prefetchw(&page->flags);
list_del(&page->lru);
if (add_to_page_cache_lru(page, mapping, page->index,
readahead_gfp_mask(mapping)))
Expand Down

0 comments on commit d454a27

Please sign in to comment.