readahead: mmap read-around simplification
Fengguang Wu [Tue, 16 Oct 2007 08:24:32 +0000 (01:24 -0700)]
Fold file_ra_state.mmap_hit into file_ra_state.mmap_miss and make it an int.

Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

include/linux/fs.h
mm/filemap.c

index 7a998c4..8250811 100644 (file)
@@ -703,8 +703,7 @@ struct file_ra_state {
                                           there are only # of pages ahead */
 
        unsigned int ra_pages;          /* Maximum readahead window */
-       unsigned long mmap_hit;         /* Cache hit stat for mmap accesses */
-       unsigned long mmap_miss;        /* Cache miss stat for mmap accesses */
+       int mmap_miss;                  /* Cache miss stat for mmap accesses */
        unsigned long prev_index;       /* Cache last read() position */
        unsigned int prev_offset;       /* Offset where last read() ended in a page */
 };
index 15c8413..5dc18d7 100644 (file)
@@ -1349,7 +1349,7 @@ retry_find:
                 * Do we miss much more than hit in this file? If so,
                 * stop bothering with read-ahead. It will only hurt.
                 */
-               if (ra->mmap_miss > ra->mmap_hit + MMAP_LOTSAMISS)
+               if (ra->mmap_miss > MMAP_LOTSAMISS)
                        goto no_cached_page;
 
                /*
@@ -1375,7 +1375,7 @@ retry_find:
        }
 
        if (!did_readaround)
-               ra->mmap_hit++;
+               ra->mmap_miss--;
 
        /*
         * We have a locked page in the page cache, now we need to check