freebsd-dev/lib/libc/stdlib
Peter Wemm 04936d2e08 Change phkmalloc so that the page directory is now floating and allocated
via mmap() up around the shared library area.  Previously the directory
was allocated from space from it's own memory pool.  Because of the way it
was being extended on processes with large malloced data segments (ie: inn)
once the page directory was extended for some reason, it was not possible
to lower the heap size any more to return pages to the OS.
(If my understanding is correct, page directory expansion occurs at 4MB,
12MB, 20MB, 28MB, etc.)  I was seeing INN allocate a large amount of short
term memory, pushing it over the 28MB mark, and once it's transient demands
hit 28MB, it never freed it's pages and swap space again.)

I've been running this in my libc for about a month...

Also, seperate MALLOC_STATS from EXTRA_SANITY..  I found it useful to call
malloc_dump() from within INN from a ctlinnd command to see where the hell
all the memory was going.. :-)  I've left MALLOC_STATS enabled, as it has
no run-time or data storage cost.

Reviewed by: phk
1995-12-11 14:28:12 +00:00
..
abort.3
abort.c Mino cleanup, #includes & unused vars. 1995-10-22 14:53:17 +00:00
abs.3
abs.c
alloca.3
atexit.3
atexit.c
atexit.h
atof.3
atof.c
atoi.3
atoi.c
atol.3
atol.c
bsearch.3
bsearch.c
calloc.3
calloc.c
div.3
div.c
exit.3
exit.c
free.3
getenv.3
getenv.c Doubled the performance of getenv()/__findenv() by rewriting it to not 1995-10-17 21:37:41 +00:00
getopt.3
getopt.c
getsubopt.3
getsubopt.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
heapsort.c
labs.3
labs.c
ldiv.3
ldiv.c
Makefile.inc ``phkmalloc'' 1995-09-16 09:28:13 +00:00
malloc.3 phkmalloc/2 1995-10-08 18:44:20 +00:00
malloc.c Change phkmalloc so that the page directory is now floating and allocated 1995-12-11 14:28:12 +00:00
memory.3
merge.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
putenv.c
qsort.3
qsort.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
radixsort.3
radixsort.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
rand.3
rand.c
random.3
random.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
realloc.3
realpath.3
realpath.c
setenv.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
strhash.c Mino cleanup, #includes & unused vars. 1995-10-22 14:53:17 +00:00
strtod.3
strtod.c Make strtod conforms manpage, use isspace to skip initial whitespaces 1995-08-01 22:20:16 +00:00
strtol.3
strtol.c strtol and atoi VERY broken in 8bit chars locale, i.e. if you pass something 1995-08-01 21:38:00 +00:00
strtoll.c Similar changes like in strtol, all this family is VERY broken 1995-08-01 22:04:57 +00:00
strtoq.c Similar changes like in strtol, all this family is VERY broken 1995-08-01 22:04:57 +00:00
strtoul.3
strtoul.c Similar changes like in strtol, all this family is VERY broken 1995-08-01 22:04:57 +00:00
strtoull.c Similar changes like in strtol, all this family is VERY broken 1995-08-01 22:04:57 +00:00
strtouq.c Similar changes like in strtol, all this family is VERY broken 1995-08-01 22:04:57 +00:00
system.3
system.c