[lkml]   [2000]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Avoiding OOM on overcommit...?
On Sun, 26 Mar 2000, Peter T. Breuer wrote:

>"A month of sundays ago Marco Colombo wrote:"
>> > * Ok, demand-loading was easy, shared pages a little bit tricker. Shared
>> > * pages started 02.12.91, seems to work. - Linus.
>> I don't think the above comment is about overcommitting swap space.
>> He's talking about sharing the text segments of processes, i think.
>> But you should ask Linus, I was not there at the moment (01.12.91) B-).

As I pointed out later, the interesting part is "demand-loading", which
demand-loads both text and data.

>And I arrived later too. But while we're on the subject of swap space,
>doesn't "reserve me 8MB of disk-based swap as backing for my stack" cure
>everyones OOM blues? I propose that that's a fair use for swap nowadays.

I don't know; what happens now if you use more than 8 MB of stack? Do "bad
things" happen, or does the kernel grow the stack?

If the stack can grow, this doesn't really help. And I'm not sure I like
the idea anyway; it's like optimizing for the worst case instead of the
common case.

>I don't _actually_ want to use swap myself, and having it there only
>as the "gold-standard" at the back of the IOU seems the best use.
>That only leaves malloc and fork overhead as candidates for unexpected
>segfaults. Malloc can be cured by the programmer touching the memory
>when he gets it.

Touching malloc()'ed pages doesn't solve anything -- this is no different
from the case of not touching them immediately, and trying to use them
later. The malloc() still returns a valid pointer but no real memory. If
you then try to touch the memory, what happens when the kernel can't get a
free page?

>Fork overhead is dealt with by having a reserve for the kernel.

Seems like a kludge to me.


David Whysong
Astrophysics graduate student University of California, Santa Barbara
My public PGP keys are on my web page -
DSS PGP Key 0x903F5BD6 : FE78 91FE 4508 106F 7C88 1706 B792 6995 903F 5BD6
D-H PGP key 0x5DAB0F91 : BC33 0F36 FCCD E72C 441F 663A 72ED 7FB7 5DAB 0F91

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:57    [W:0.068 / U:4.384 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site