public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] 2.4's sys_readahead is borked
@ 2004-02-04  0:19 Robert Love
  2004-02-04 14:30 ` Marcelo Tosatti
  0 siblings, 1 reply; 6+ messages in thread
From: Robert Love @ 2004-02-04  0:19 UTC (permalink / raw)
  To: marcelo.tosatti; +Cc: linux-kernel

In 2.4, sys_readahead() performs readahead against a maximum of half the
number of inactive pages.  This is dumb, as it ignores the number of
free pages completely.  Worse, in certain situations, such as boot, the
inactive list can be quite small and the free list quite large, but
readahead(2) won't do anything.

The right thing to do is limit sys_readahead() to a maximum of half of
the sum of the number of free pages and inactive pages, which is what
2.6 does.

Attached patch is against 2.4.25-pre8.  Please apply.

	Robert Love

 mm/filemap.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -urN linux-2.4.25-pre8/mm/filemap.c.orig linux-2.4.25-pre8/mm/filemap.c
--- linux-2.4.25-pre8/mm/filemap.c.orig	2004-02-03 19:13:33.540115456 -0500
+++ linux-2.4.25-pre8/mm/filemap.c	2004-02-03 19:13:49.468693944 -0500
@@ -1965,7 +1965,7 @@
 		nr = max;
 
 	/* And limit it to a sane percentage of the inactive list.. */
-	max = nr_inactive_pages / 2;
+	max = (nr_free_pages() + nr_inactive_pages) / 2;
 	if (nr > max)
 		nr = max;
 


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-02-08 10:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-04  0:19 [patch] 2.4's sys_readahead is borked Robert Love
2004-02-04 14:30 ` Marcelo Tosatti
2004-02-04 15:20   ` Robert Love
2004-02-04 18:42     ` Mike Fedyk
2004-02-04 18:47       ` Robert Love
2004-02-07  9:14   ` Arjan van de Ven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox