freebsd-skq/lib/libc
alc 8b80b6e6e7 Make malloc(3) superpage aware. Specifically, if getpagesizes(3) returns
a large page size that is greater than malloc(3)'s default chunk size but
less than or equal to 4 MB, then increase the chunk size to match the large
page size.

Most often, using a chunk size that is less than the large page size is not
a problem.  However, consider a long-running application that allocates and
frees significant amounts of memory.  In particular, it frees enough memory
at times that some of that memory is munmap()ed.  Up until the first
munmap(), a 1MB chunk size is just fine; it's not a problem for the virtual
memory system.  Two adjacent 1MB chunks that are aligned on a 2MB boundary
will be promoted automatically to a superpage even though they were
allocated at different times.  The trouble begins with the munmap(),
releasing a 1MB chunk will trigger the demotion of the containing superpage,
leaving behind a half-used 2MB reservation.  Now comes the real problem.
Unfortunately, when the application needs to allocate more memory, and it
recycles the previously munmap()ed address range, the implementation of
mmap() won't be able to reuse the reservation.  Basically, the coalescing
rules in the virtual memory system don't allow this new range to combine
with its neighbor.  The effect being that superpage promotion will not
reoccur for this range of addresses until both 1MB chunks are freed at some
point in the future.

Reviewed by:	jasone
MFC after:	3 weeks
2009-09-26 18:20:40 +00:00
..
amd64 Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4. 2008-11-09 10:45:13 +00:00
arm Remove unneeded stdlib directories. 2009-06-23 14:11:41 +00:00
compat-43 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
db Consider flag == 0 as the same of flag == R_NEXT. This change will restore 2009-08-24 23:44:07 +00:00
gdtoa Unbreak the build for arm and powerpc. 2008-04-12 14:53:52 +00:00
gen Correct a section name; specifically, "AUTHOR" should be "AUTHORS". [1] 2009-09-21 18:02:02 +00:00
gmon Remove .mcount from gmon's Symbol map and add it to the appropriate 2007-05-13 14:16:55 +00:00
i386 Remove hand-written labs/abs implementations. GCC is smart enough. 2009-06-23 09:04:59 +00:00
ia64 Remove unneeded stdlib directories. 2009-06-23 14:11:41 +00:00
include Change the ABI of some of the structures used by the SYSV IPC API: 2009-06-24 21:10:52 +00:00
inet Merge the resolver part of BIND 9.4.3 into HEAD. 2008-12-14 19:39:53 +00:00
isc Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
locale Let the armchair generals handle this one. 2009-09-04 07:44:58 +00:00
mips Remove unneeded stdlib directories. 2009-06-23 14:11:41 +00:00
nameser This commit was generated by cvs2svn to compensate for changes in r174223, 2007-12-03 15:07:58 +00:00
net Revert r196976, now that <machine/param.h> behaves predictably. 2009-09-09 10:31:20 +00:00
nls Improve the German translation. 2009-03-25 12:36:37 +00:00
posix1e Fix regression introduced with NFSv4 ACL support - make acl_to_text(3) 2009-09-01 18:30:17 +00:00
powerpc Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4. 2008-11-09 10:45:13 +00:00
quad Fix a typo that prevented the quad symbols from being exported 2007-07-06 13:42:24 +00:00
regex Fix an off-by-one error in the marking of the O_CH operator 2009-09-16 06:32:23 +00:00
resolv Add an option to enforce strict RFC 1034 compliance. 2009-05-29 07:34:54 +00:00
rpc Lock around access to nc_file and netconfig_info ("ni"). The RPC 2009-06-24 23:17:16 +00:00
softfloat Reflect license change from NetBSD. 2009-03-10 21:13:26 +00:00
sparc64 Remove unneeded stdlib directories. 2009-06-23 14:11:41 +00:00
stdio Make the description of `b' a little better. 2009-09-09 19:38:19 +00:00
stdlib Make malloc(3) superpage aware. Specifically, if getpagesizes(3) returns 2009-09-26 18:20:40 +00:00
stdtime Improve the way failure of pthread_key_create() gets detected. 2009-09-14 11:20:45 +00:00
string Correct the information about when the respective functionality first 2009-04-23 08:37:56 +00:00
sys Fix setfib(1) section number. 2009-09-18 14:17:00 +00:00
uuid Move uuid_enc_le, uuid_dec_le, uuid_enc_be and uuid_dec_be symbols 2008-09-19 15:52:56 +00:00
xdr Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
yp Fix some "in in" typos in comments. 2008-03-26 07:32:08 +00:00
Makefile Second attempt at eliminating .text relocations in shared libraries 2009-07-14 21:19:13 +00:00
Versions.def Bump our namespace version for 9.0. 2009-09-13 13:15:36 +00:00