Subject: Re: PROPOSAL: removal of brk()/sbrk().
To: None <tech-kern@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: tech-kern
Date: 02/28/2002 18:57:53
In article <20020228172258.F447@snowdrop.l8s.co.uk>,
David Laight <david@l8s.co.uk> wrote:

>Was just an example, there are loads of programs out there that
>rely on features of old implementations that have been kept
>'for compatibility'.
>
>Does the netbsd malloc still support:
>	x = malloc( 20 );
>	free( x );
>	x = realloc( x, 10 );
>
>which is why it is called 'realloc'....

That never worked on BSD, since the days of Chris Kingsley's malloc
[circa 1982]. I am not sure if unmaintained code from those days will
even compile with today's compilers.

>I don't actually see why there is a gain from using mmap() directly
>for malloc()?  The program data area is (effectively) an extensible
>area loaded from the program file (then zeros) that is written to
>swap.  An mmap()ed piece of /dev/zeros will be exactly the same.
>What you probably lose is address space fragmentation and memory
>fragmentation...

you assume that memory on modern machines is contiguous...

christos