From: Steven Pratt > >Ten concurrent copies of dd? > Ok, this test worked fairly well. Found a bug in the code for skipping readahead on cache hits. This patch reduces system time on 10 processes dding a 85GB file which is fully in cache from 117minutes down to 71 minutes. This is only a few percent higher than current mainline so I think we are good here. Signed-off-by: Andrew Morton --- 25-akpm/mm/readahead.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN mm/readahead.c~simplified-readahead-fix mm/readahead.c --- 25/mm/readahead.c~simplified-readahead-fix 2004-12-01 21:46:53.431392184 -0800 +++ 25-akpm/mm/readahead.c 2004-12-01 21:47:06.345428952 -0800 @@ -356,8 +356,8 @@ int check_ra_success(struct file_ra_stat if (actual == 0) { ra->cache_hit += nr_to_read; if (ra->cache_hit >= VM_MAX_CACHE_HIT) { - ra->flags |= RA_FLAG_INCACHE; ra_off(ra); + ra->flags |= RA_FLAG_INCACHE; return 0; } } else { _