* vm_enough_memory() and RAM disks
@ 2001-05-22 20:24 Scott Anderson
2001-05-23 1:32 ` Chuck Lever
0 siblings, 1 reply; 3+ messages in thread
From: Scott Anderson @ 2001-05-22 20:24 UTC (permalink / raw)
To: linux-mm
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/
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: vm_enough_memory() and RAM disks
2001-05-22 20:24 vm_enough_memory() and RAM disks Scott Anderson
@ 2001-05-23 1:32 ` Chuck Lever
2001-05-23 17:45 ` Scott Anderson
0 siblings, 1 reply; 3+ messages in thread
From: Chuck Lever @ 2001-05-23 1:32 UTC (permalink / raw)
To: linux-mm
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/
>
--
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/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: vm_enough_memory() and RAM disks
2001-05-23 1:32 ` Chuck Lever
@ 2001-05-23 17:45 ` Scott Anderson
0 siblings, 0 replies; 3+ messages in thread
From: Scott Anderson @ 2001-05-23 17:45 UTC (permalink / raw)
To: Chuck Lever; +Cc: linux-mm
Chuck Lever wrote:
>
> 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.
I believe you are seeing the same problem. I'm guessing that you're
on 2.2 because you didn't mention the Out Of Memory killer coming
into play. If so, you can work around the problem by playing with
/proc/sys/vm/buffermem to increase the minimum amount of buffermem.
This has been removed from 2.4.
Of course, the real answer is to fix the code, but I must apologize
again that I haven't found the time to do that...
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/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-05-23 17:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-22 20:24 vm_enough_memory() and RAM disks Scott Anderson
2001-05-23 1:32 ` Chuck Lever
2001-05-23 17:45 ` Scott Anderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox