Messages in this thread | | | Subject | Re: fork: out of memory | From | Andi Kleen <> | Date | 25 Jul 1997 01:27:45 +0200 |
| |
Pavel Machek <pavel@Elf.mj.gts.cz> writes:
> Hi! > > Seems to me that newer kernel (2.1.46) have bad problems with above > error... Is someone else experiencing this? It is bad when running cvs > (in way export CVSROOT=localhost:/...), cvs can not fork sometimes and > it is _bad_.
That's caused by the new two page kernel stack/current task struct allocation. Every process needs two consecutive pages now (get_free_pages(2)). When your memory fragments fork() often can't find two consecutive pages anymore. Unfortunately do_fork() doesn't try to call the swapper to free some pages or buffers and just return -ENOMEM.
-Andi
| |