Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Dec 1995 06:28:14 -0800 (PST)
From:      Peter Wemm <peter>
To:        CVS-committers, cvs-lib
Subject:   cvs commit: src/lib/libc/stdlib malloc.c
Message-ID:  <199512111428.GAA10528@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
peter       95/12/11 06:28:14

  Modified:    lib/libc/stdlib  malloc.c
  Log:
  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
  
  Revision  Changes    Path
  1.7       +47 -29    src/lib/libc/stdlib/malloc.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512111428.GAA10528>