summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFengguang Wu <wfg@mail.ustc.edu.cn>2007-10-16 01:24:32 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 09:42:52 -0700
commit0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937 (patch)
tree81dc745c660557af4d9ea8b9816846d0395ece20
parent937085aa35cc873d427d250a1e304d641af24628 (diff)
downloadop-kernel-dev-0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937.zip
op-kernel-dev-0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937.tar.gz
readahead: mmap read-around simplification
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>
-rw-r--r--include/linux/fs.h3
-rw-r--r--mm/filemap.c4
2 files changed, 3 insertions, 4 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 7a998c4..8250811 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -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 */
};
diff --git a/mm/filemap.c b/mm/filemap.c
index 15c8413..5dc18d7 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -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
OpenPOWER on IntegriCloud