<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: Ram Pai &lt;linuxram@us.ibm.com&gt;

Ok I have enclosed the results for the recent readahead fixes.  The summary
is: there is no significant improvement or decrease in performance of (DSS
workload, iozone, sysbench) The increase or decrease is in the margin of
errors.

I have enclosed a patch that partially backs off Miklos's fix.  Shane
Shrybman correctly pointed out that the real fix is to set ra-&gt;average
value to max/2 when we move from readahead-off mode to readahead-on mode. 
The other part of Miklos's fix becomes irrelevent.

Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
---

 25-akpm/mm/readahead.c |    6 +-----
 1 files changed, 1 insertion(+), 5 deletions(-)

diff -puN mm/readahead.c~readahead-simplification mm/readahead.c
--- 25/mm/readahead.c~readahead-simplification	Wed Aug  4 16:05:48 2004
+++ 25-akpm/mm/readahead.c	Wed Aug  4 16:05:48 2004
@@ -468,11 +468,7 @@ do_io:
 			  * pages shall be accessed in the next
 			  * current window.
 			  */
-			average = ra-&gt;average;
-			if (ra-&gt;serial_cnt &gt; average)
-				average = (ra-&gt;serial_cnt + ra-&gt;average + 1) / 2;
-
-			ra-&gt;next_size = min(average , (unsigned long)max);
+			ra-&gt;next_size = min(ra-&gt;average , (unsigned long)max);
 		}
 		ra-&gt;start = offset;
 		ra-&gt;size = ra-&gt;next_size;
_
</pre></body></html>