sbrk(2) broken
Robert Watson
rwatson at FreeBSD.org
Fri Jan 4 05:24:29 PST 2008
On Fri, 4 Jan 2008, Dag-Erling Smørgrav wrote:
> "Igor Mozolevsky" <igor at hybrid-lab.co.uk> writes:
>> This makes memory management in the userland hideously and unnecessarily
>> complicated. It's simpler to have SIGDANGER [...]
>
> You don't seem to understand what Poul-Henning was trying to point out,
> which is that broadcasting SIGDANGER can make a bad situation much, much
> worse by waking up and paging in every single process in the system,
> including processes that are blocked and wouldn't otherwise run for several
> minutes, hours or even days (getty, inetd, sshd, mountd, even nfsd / nfsiod
> in some cases can sleep for days at a time waiting for I/O)
Another aspect of the problem is that applications have come to depend in
malloc(3) returning NULL when memory is getting tight, and while we have never
done exactly that, we have historically had malloc(3) return NULL when we get
close to the process data segment size.
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the freebsd-current
mailing list