[PATCH 3/3] mm/readahead: Move the check for ra_pages after VM_SequentialReadHint()

From: Raghavendra D Prabhu
Date: Sat Jul 09 2011 - 15:42:18 EST


page_cache_sync_readahead checks for ra->ra_pages again, so moving the check after VM_SequentialReadHint.

Signed-off-by: Raghavendra D Prabhu <rprabhu@xxxxxxxxxxx>
---
mm/filemap.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/mm/filemap.c b/mm/filemap.c
index 074c23d..748f720 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1566,8 +1566,6 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma,
/* If we don't want any read-ahead, don't bother */
if (VM_RandomReadHint(vma))
return;
- if (!ra->ra_pages)
- return;

if (VM_SequentialReadHint(vma)) {
page_cache_sync_readahead(mapping, ra, file, offset,
@@ -1575,6 +1573,9 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma,
return;
}

+ if (!ra->ra_pages)
+ return;
+
/* Avoid banging the cache line if not needed */
if (ra->mmap_miss < MMAP_LOTSAMISS * 10)
ra->mmap_miss++;
--
1.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/