Re: Memory Management (was Re: [2.1.37] locks too)

Daniel G. Linder (dlinder@webcentric.net)
Fri, 30 May 1997 16:33:31 -0400 (EDT)


I get my kernel info via the digest...
>From: Andrea Arcangeli <arcangeli@mbox.queen.it>
>Yes. I have the same lockup problem using Netscape 3.01 with XFree 3.2
>compiled from Debian. I use a Intel Pentium 166MHz too with 32MB RAM. The
>video card is a S3 Trio 64 with 2048k RAM used in 1600x1280x256. My kernel
>is compiled no SMP. The problem cames from [2.1.38] and is not resolved
>yet in [pre-2.1.42-2].

In another message, she adds:
>I was trying the stability of [2.1.37] opening 20/30 session of Netscape.
>No problem doing it. Then, satisfied, I closed all Netscape session and
>I lauched:
> rm -r /usr/src/linux-2.1.xx
>The kernel locks as [2.1.38] using Netscape.

Later, Benjamin C R LaHaise <blah@dot.superaje.com> wrote:
>There are 2 major sources of locks in 2.1 caused by running out of memory
>right now. The patch applied to mm/vmscan.c in 2.1.33 is completely
>broken -- kswapd will eat all CPU time when the system runs out of
>memory, instead of allowing the next (user) process that askes for a page
>to be killed (kswapd has real time priority). Secondly, the new buffer
>cache code doesn't seem to be triggering writes quickly enough. Right
>now I'm trying to find some sort of clean way of handling low memory
>situations.
>
>I think we should add a wait queue for free pages so user processes that
>need memory won't eat CPU time while waiting for (slow) disk io to
>complete - as it stands now the system will spin in try_to_free_pages
>most of the time when we reach the low memory point - Linus/Dave does
>this sound like an idea? I'm thinking in get_free_page to try one
>call to try_to_free_pages, if that doesn't work, wakeup kswapd & go to
>sleep. Even with 64 megs of RAM I can lock the machine fairly easily in
>X (it has no swap, but isn't out of memory - it's just not freeing it).
>Hopefully a patch on the weekend....

I am going to be gone this weekend, but if I don't hear about a patch
before Monday morning, I will take some time and try the tried-and-true
binary search method of applying patches / running / crashing / backing
off a level etc. until a hopefully bad patch or patch combination shows
up.
Benjamin, since my search will take quite a while and you have some
definate areas to test, if you get a patch ready to test by Monday morning
send it out and I will try it on my system at work -- my main Linux box
and unfortunate test bed... I can get it to lock up about once an hour
through normal usage at work (1 netscape, 3-8 Xterms, gcc, etc).

Dan

--
Daniel Linder W:(402) 393-3997 C:(402) 490-1673 P:(402) 579-1615
National / TechTeam WebCentric
www.webcentric.net / www.techteam.com