A while back I did some work on the read-ahead routines in mm/filemap.c,
to fix some minor problems and try to speed things up a bit. I had only
modest success at the latter, partly because I'm not very well set up
for performance testing. (I'm more interested in fixing bugs.)
Recently several people here have posted benchmark comparisons of
read/write test results, so I'd like to ask if anyone is interested in
helping to test the attached patch.
What would help most would be some comparisons (with patch vs w/o patch)
of read speed for small (<20K), medium (200K), and large (>2M) files,
if possible contrasting first read vs subsequent reads. Also helpful
would be a comparison of normal vs low-memory performance; for reasons I
don't understand, the patch doesn't seem to show any improvement under
low memory conditions. The changes I made should be most apparent on
file re-reading (i.e. when it's cached), but should improve first read
slightly as well.
Also, if the original author of the readahead code has time to look over
this patch, I'd appreciate a review of the changes. The attached patch
is against 2.0.30, but I can supply 2.1.47 as well.