From bf8672d41501fc5aa4f62fda4c99d86e98a0690b Mon Sep 17 00:00:00 2001 From: Wu Fengguang Date: Tue, 24 May 2011 17:12:30 -0700 Subject: [PATCH] --- yaml --- r: 250917 b: refs/heads/master c: 2cbea1d3ab11946885d37a2461072ee4d687cb4e h: refs/heads/master i: 250915: 81d28c58e7c92d2ac71bf0895ab5406699417256 v: v3 --- [refs] | 2 +- trunk/mm/filemap.c | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 6f5181c03fe3..0521970744ac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 207d04baa3591a354711e863dd90087fc75873b3 +refs/heads/master: 2cbea1d3ab11946885d37a2461072ee4d687cb4e diff --git a/trunk/mm/filemap.c b/trunk/mm/filemap.c index e5131392d32e..68e782b3d3de 100644 --- a/trunk/mm/filemap.c +++ b/trunk/mm/filemap.c @@ -1559,8 +1559,7 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma, if (!ra->ra_pages) return; - if (VM_SequentialReadHint(vma) || - offset - 1 == (ra->prev_pos >> PAGE_CACHE_SHIFT)) { + if (VM_SequentialReadHint(vma)) { page_cache_sync_readahead(mapping, ra, file, offset, ra->ra_pages); return; @@ -1583,7 +1582,7 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma, ra_pages = max_sane_readahead(ra->ra_pages); ra->start = max_t(long, 0, offset - ra_pages / 2); ra->size = ra_pages; - ra->async_size = 0; + ra->async_size = ra_pages / 4; ra_submit(ra, mapping, file); } @@ -1689,7 +1688,6 @@ int filemap_fault(struct vm_area_struct *vma, struct vm_fault *vmf) return VM_FAULT_SIGBUS; } - ra->prev_pos = (loff_t)offset << PAGE_CACHE_SHIFT; vmf->page = page; return ret | VM_FAULT_LOCKED;