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, FengguangSigned-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