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: Liu Xiang <liu.xiang6@zte.com.cn> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
742b06b562
commit
d454a27384
1 changed files with 2 additions and 1 deletions
|
@ -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)))
|
||||||
|
|
Loading…
Reference in a new issue