Commit d454a273 authored by Liu Xiang's avatar Liu Xiang Committed by Theodore Ts'o

ext4: fix prefetchw of NULL page

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: default avatarLiu Xiang <liu.xiang6@zte.com.cn>
Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
parent 742b06b5
...@@ -127,9 +127,10 @@ int ext4_mpage_readpages(struct address_space *mapping, ...@@ -127,9 +127,10 @@ int ext4_mpage_readpages(struct address_space *mapping,
int fully_mapped = 1; int fully_mapped = 1;
unsigned first_hole = blocks_per_page; unsigned first_hole = blocks_per_page;
prefetchw(&page->flags);
if (pages) { if (pages) {
page = lru_to_page(pages); page = lru_to_page(pages);
prefetchw(&page->flags);
list_del(&page->lru); list_del(&page->lru);
if (add_to_page_cache_lru(page, mapping, page->index, if (add_to_page_cache_lru(page, mapping, page->index,
readahead_gfp_mask(mapping))) readahead_gfp_mask(mapping)))
......
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