freebsd-dev/lib/libc
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
..
amd64 remove GCC support functions from libc. 1995-10-05 10:24:57 +00:00
compat-43 Remove setre*id*. 1995-04-25 10:00:04 +00:00
db Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
gen Include sys/time.h, not sys/user.h. 1995-12-08 08:47:41 +00:00
gmon Add moncontrol.3 -> monstartup.3 link here. 1995-10-15 17:40:20 +00:00
i386 remove GCC support functions from libc. 1995-10-05 10:24:57 +00:00
locale Move more stuff out to XPG4 1995-11-03 08:59:02 +00:00
net Add NIS support to getservent(3) functions (getservbyport() and getservbyname() 1995-11-04 19:07:27 +00:00
nls and so on... 1995-10-22 14:39:22 +00:00
quad Restored [u]cmpdi2.c which are needed for switching on [unsigned] long 1995-12-01 09:38:35 +00:00
regex More cleanup. 1995-10-22 14:40:55 +00:00
rpc Fix minor annoyance: have clnt_perror(), clnt_perrno() and 1995-12-10 17:40:18 +00:00
stdio Minor cleanup, #include's and unused vars. 1995-10-22 14:52:30 +00:00
stdlib Change phkmalloc so that the page directory is now floating and allocated 1995-12-11 14:28:12 +00:00
stdtime Don't reset LC_TIME to C when it isn't neccessary 1995-10-23 19:52:43 +00:00
string Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
sys Document recent changes in socket buffers and listen(2). 1995-11-03 18:34:38 +00:00
xdr minor cleanup, #includes. 1995-10-22 14:53:58 +00:00
yp - Make _do_ypbind() check for /var/run/ypbind.lock and attempt to flock() 1995-11-05 05:39:04 +00:00
Makefile Bump shlib minor because xdr_* functions have been enabled. Do NOT 1995-08-09 06:50:52 +00:00