From: Wu Fengguang Dot not set RA_FLAG_EOF on single page files. readahead_close() will be called if RA_FLAG_EOF is there on file close. It detects readahead hit/miss, and adjust ra_expected_bytes correspondingly. Single page files are uninteresting for it. Since near 40% desktop files are <= 4k, this patch can reduce many useless readahead_close() invocations. Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton --- mm/readahead.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN mm/readahead.c~readahead-state-based-method-routines-no-ra_flag_eof-on-single-page-file mm/readahead.c --- devel/mm/readahead.c~readahead-state-based-method-routines-no-ra_flag_eof-on-single-page-file 2006-06-09 01:22:42.000000000 -0700 +++ devel-akpm/mm/readahead.c 2006-06-09 01:22:42.000000000 -0700 @@ -966,7 +966,8 @@ static int ra_dispatch(struct file_ra_st ra->readahead_index = eof_index; if (ra->lookahead_index > eof_index) ra->lookahead_index = eof_index; - ra->flags |= RA_FLAG_EOF; + if (eof_index > 1) + ra->flags |= RA_FLAG_EOF; } /* Disable look-ahead for loopback file. */ _