Re: Linux 2.2.17pre5

From: Marcelo Tosatti (marcelo@conectiva.com.br)
Date: Wed Jun 21 2000 - 12:45:39 EST


On Wed, 21 Jun 2000, Alan Cox wrote:

> Ok I'm going for stabilising the oddments 2.2.16 got a bit wrong before
> we move onwards. This even though a pre patch should be somewhat more
> solid than 2.2.16. It contains just the important bug fixes
>
> James Cloos is making diffs between 2.2.17pre versions are available at
> <http://jhcloos.com/pub/linux-2.2.17-pre>
> <ftp://jhcloos.com/pub/linux-2.2.17-pre>
>
> I am very interested to know if 2.2.17pre3 fixes the hangs under load some
> people reported with 14/15/16.
>
> 2.2.17pre5
> o Fix alpha compile problems on lmc and dmfe (me)
> o Fix sparc32 lockd translation (Dave Miller)
> o Fix HDLC problems with packet lengths (Ivan Passos)
> o PMAC updates - should now build (Benjamin Herrenschmidt)
> video update rejected as too risky
> o Removed unused trashing var (Andrea Arcangeli)
> o Proper fix for the TCP crash case (Andi Kleen)
> o Further small vm fixups (Rik van Riel)
> o Fix SCSI tape bugs (Kai Makisara)
> o Lanmedia driver fixes (Andrew Stanley-Jones)
> o ES1370/1371 GETOSPACE fixes (Thomas Sailer)
> o FAT CD fix (Jens Axboe)
> o Further small shared irq 3c59x fix (Andrew Morton)
> o Fix scripts/Configure comment handler (Jun Hamano)

Alan,

Andrea mm-fix changed try_to_free_buffers() to flush dirty buffers of
pages, making this pages freeable in case all buffers on them gets
flushed, which is a nice feature.

However, doing this without limiting the number of IO which is started to
sync the dirty buffers is quite bad:
Running mmap001 + mmap002 programs (both of them part of the memtest
suite) at the same time on a 8MB box causes the VM to kill one of them,
even if there is swap space available, because both programs will start
async IO on a lot of dirty buffers without waiting for them to get
flushed. (Of course real life applications suffer from the same
problem)

The attached patch changes try_to_free_buffers() to wait at each 64
pages with dirty buffers being flushed before trying to start more IO.
This way, the memtest suite programs described above can run at the same
time without problems. Also it avoids system stalls because of the
big amount of IO which may be started.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Jun 23 2000 - 21:00:22 EST