diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 22:31:25 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-17 02:47:29 (GMT) |
commit | ef00e08e26dd5d84271ef706262506b82195e752 (patch) | |
tree | 5f6cf72cf9bf0574ecfbd73f4ee5378d89298dd7 /mm/percpu.c | |
parent | 51daa88ebd8e0d437289f589af29d4b39379ea76 (diff) | |
download | linux-ef00e08e26dd5d84271ef706262506b82195e752.tar.xz |
readahead: clean up and simplify the code for filemap page fault readahead
This shouldn't really change behavior all that much, but the single rather
complex function with read-ahead inside a loop etc is broken up into more
manageable pieces.
The behaviour is also less subtle, with the read-ahead being done up-front
rather than inside some subtle loop and thus avoiding the now unnecessary
extra state variables (ie "did_readaround" is gone).
Fengguang: the code split in fact fixed a bug reported by Pavel Levshin:
the PGMAJFAULT accounting used to be bypassed when MADV_RANDOM is set, in
which case the original code will directly jump to no_cached_page reading.
Cc: Pavel Levshin <lpk@581.spb.su>
Cc: <wli@movementarian.org>
Cc: Nick Piggin <npiggin@suse.de>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/percpu.c')
0 files changed, 0 insertions, 0 deletions