Re: Re: [PATCH 4/5] Move the check for ra_pages after VM_SequentialReadHint()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


* On Sat, Sep 22, 2012 at 08:42:50PM +0800, Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote:
it.rprabhu@xxxxxxxxxxx>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Date: Sat Sep 22 18:12:50 IST 2012

On Sat, Sep 22, 2012 at 04:03:13PM +0530, raghu.prabhu13@xxxxxxxxx wrote:
From: Raghavendra D Prabhu <rprabhu@xxxxxxxxxxx>

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

Well it depends on what case you are optimizing for. I suspect there
are much more tmpfs users than VM_SequentialReadHint users. So this
change is actually not desirable wrt the more widely used cases.

shm/tmpfs doesn't use this function for fault. They have shmem_fault for that. So, that shouldn't matter here. Agree?


Thanks,
Fengguang

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

diff --git a/mm/filemap.c b/mm/filemap.c
index 3843445..606a648 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1523,8 +1523,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,
@@ -1532,6 +1530,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.12.1

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see




Regards,
--
Raghavendra Prabhu
GPG Id : 0xD72BE977
Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
www: wnohang.net

Attachment: pgpJMwG9GcDD6.pgp
Description: PGP signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]