RE: vm_enough_memory() and RAM disks

Chuck Lever
2001-05-23T01:31:34Z

i've noticed a (possibly) related problem.

i've configured an NFS server to export a largish RAM disk for
the purposes of testing NFS performance. the RAM disk is half
as large as the server's physical memory. i've seen several
times that when the machine runs out of memory (the "free"
column in vmstat output goes below 1M) and the kernel wants
to swap, the system freezes up. my theory was that something
was attempting to flush buffers, but because the buffers were
bh_protected (because they were part of a large RAM disk), the
kernel wasn't successful at making any normal headway, and so
it looped.

> -----Original Message-----
> From: owner-linux-mm@kvack.org [mailto:owner-linux-mm@kvack.org]On
> Behalf Of Scott Anderson
> Sent: Tuesday, May 22, 2001 4:25 PM
> To: linux-mm@kvack.org
> Subject: vm_enough_memory() and RAM disks
>
>
> I've noticed that vm_enough_memory() does not account for the
> fact that buffer cache could be used for RAM disks. It appears that it
> assumes that all of buffer cache is only being used for caching data
> from disk drives and could be freed up as needed. Logically, I think
> what needs to happen is that the amount of space occupied by buffers
> with BH_Protected needs to be subtracted off of buffermem_pages.
>
> As you can well imagine, in small systems with relatively large RAM
> disks, this does not lead to good behavior...
>
> Now for the true confession: I'm not finding time to come up with a
> patch for this right now. However, I thought it would be better to at
> least get this out instead of waiting around for me to find the time.
>
> Thanks for listening,
> Scott Anderson
> scott_anderson@mvista.com MontaVista Software Inc.
> (408)328-9214 1237 East Arques Ave.
> http://www.mvista.com Sunnyvale, CA 94085
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://www.linux.eu.org/Linux-MM/
>