summaryrefslogtreecommitdiffstats
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Only zero large allocations when necessary (for calloc()).jasone2007-11-281-1/+1
|
* Add _pthread_mutex_init_calloc_cb to libc's map, for which malloc definesjasone2007-11-271-0/+1
| | | | a stub.
* Document the B and L MALLOC_OPTIONS.jasone2007-11-271-1/+26
|
* Implement dynamic load balancing of thread-->arena mapping, based on lockjasone2007-11-271-58/+297
| | | | | | | | | | | | | | | | | contention. The intent is to dynamically adjust to load imbalances, which can cause severe contention. Use pthread mutexes where possible instead of libc "spinlocks" (they aren't actually spin locks). Conceptually, this change is meant only to support the dynamic load balancing code by enabling the use of spin locks, but it has the added apparent benefit of substantially improving performance due to reduced context switches when there is moderate arena lock contention. Proper tuning parameter configuration for this change is a finicky business, and it is very much machine-dependent. One seemingly promising solution would be to run a tuning program during operating system installation that computes appropriate settings for load balancing. (The pthreads adaptive spin locks should probably be similarly tuned.)
* Implement lazy deallocation of small objects. For each arena, maintain ajasone2007-11-271-0/+218
| | | | | | | | | | | vector of slots for lazily freed objects. For each deallocation, before doing the hard work of locking the arena and deallocating, try several times to randomly insert the object into the vector using atomic operations. This approach is particularly effective at reducing contention for multi-threaded applications that use the producer-consumer model, wherein one producer thread allocates objects, then multiple consumer threads deallocate those objects.
* Avoid re-zeroing memory in calloc() when possible.jasone2007-11-271-143/+218
|
* Fix stats printing of the amount of memory currently consumed by hugejasone2007-11-271-36/+37
| | | | | | | | | | | allocations. [1] Fix calculation of the number of arenas when 'n' is specified via MALLOC_OPTIONS. Clean up various style inconsistencies. Obtained from: [1] NetBSD
* Use an intermediate pointer to avoid a strict aliasing warning.jb2007-11-231-1/+2
|
* Use an intermediate pointer to avoid a strict aliasing warning.jb2007-11-211-1/+2
| | | | | | Note that ULong in this code is actually defined as an unsigned integer across all arches so that the gdtoa() function always processes 32 bit data despite the unfortunate naming of "ULong".
* Use intermediate pointers to avoid strict alias type check failuresjb2007-11-207-15/+47
| | | | | using gcc 4.2. This is required for tinderbox which doesn't have -fno-strict-aliasing in it's custom CFLAGS.
* Change the casts from (pthread_mutex_t *) to (void *) to keep gcc quiet.cognet2007-11-191-3/+3
| | | | Anybody with a cleaner solution feel free to change it.
* Fix bad rule and bad dependency for nsparser.h that canru2007-11-151-6/+3
| | | | | | | | | | | cause the build to fail because y.tab.c can have a more recent modification time than y.tab.h, and the bad rule relied on the opposite. (The last write to y.tab.c by yacc(1) happens after the last write to y.tab.h, according to truss(1).) Reported by: kensmith
* - Include runetype.h for _RuneLocale_rafan2007-11-071-0/+2
|
* Remove extraneous empty lines, to fix mdoc warnings.keramida2007-10-303-7/+3
| | | | MFC after: 3 days
* mdoc fix: remove extraneous empty line.keramida2007-10-301-2/+1
| | | | MFC after: 3 days
* Bump manpage date, missed during the last change.keramida2007-10-301-1/+1
| | | | MFC after: 3 days
* The .Fx request doesn't recognize 2.2.0, so use ".Fx 2.2"keramida2007-10-301-1/+1
| | | | MFC after: 3 days
* Remove extraneous .Ef request.keramida2007-10-301-2/+1
| | | | MFC after: 3 days
* Back out 2nd part of wrong iswascii() change in prev. commit.ache2007-10-231-1/+1
|
* Add a BUGS section to note that mount/chroot changes sincejb2007-10-221-0/+4
| | | | | | | | | a module was loaded might make the pathname inaccurate. I wonder if an inode reference should be stored with the pathname to allow a validity check? Suggested by: rwatson@
* Add the full module path name to the kld_file_stat structurejb2007-10-221-0/+5
| | | | | | | | | | | | | | for kldstat(2). This allows libdtrace to determine the exact file from which a kernel module was loaded without having to guess. The kldstat(2) API is versioned with the size of the kld_file_stat structure, so this change creates version 2. Add the pathname to the verbose output of kldstat(8) too. MFC: 3 days
* Remove out of date notes, the atoi code is thread-safe and async-canceldavidxu2007-10-191-4/+0
| | | | | | safe. Discussed with: desichen
* Unbreak arm build by removing duplicate symbols.cognet2007-10-181-8/+0
|
* The fork symbols aren't MD, they already live in sys/.yar2007-10-181-3/+0
| | | | | Found by: version_gen.awk Tested by: md5(1) (libc.so hasn't changed at all)
* Fix build from errors exposed with recent version_gen.awk commit.grehan2007-10-181-2/+1
| | | | | Not quite sure if this is 100% correct: awaiting review. But quieten tinderbox in the meantime.
* - Correctly define CACHED_SOCKET_PATH as /var/run/nscd after cached totmclaugh2007-10-171-1/+1
| | | | | | nscd renaming. Approved by: mux
* VM_METER is long deprecated.ru2007-10-161-2/+2
|
* Rescue parts of the sensorsd commit that are still relevant:ru2007-10-161-6/+9
| | | | | | - HW_FLOATINGPOINT renamed to HW_FLOATINGPT. - Documented HW_REALMEM. - Sorted as per <sys/sysctl.h>.
* Backout sensors framework.netchild2007-10-151-36/+6
| | | | | Requested by: phk Discussed on: cvs-all
* Add comment explaining __mb_sb_limit trick here.ache2007-10-151-0/+5
|
* Fix mdoc in last commit.ru2007-10-141-13/+15
|
* Import OpenBSD's sysctl hardware sensors framework.netchild2007-10-141-6/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit includes the following core components: * sample configuration file for sensorsd * rc(8) script and glue code for sensorsd(8) * sysctl(3) doc fixes for CTL_HW tree * sysctl(3) documentation for hardware sensors * sysctl(8) documentation for hardware sensors * support for the sensor structure for sysctl(8) * rc.conf(5) documentation for starting sensorsd(8) * sensor_attach(9) et al documentation * /sys/kern/kern_sensors.c o sensor_attach(9) API for drivers to register ksensors o sensor_task_register(9) API for the update task o sysctl(3) glue code o hw.sensors shadow tree for sysctl(8) internal magic * <sys/sensors.h> * HW_SENSORS definition for <sys/sysctl.h> * sensors display for systat(1), including documentation * sensorsd(8) and all applicable documentation The userland part of the framework is entirely source-code compatible with OpenBSD 4.1, 4.2 and -current as of today. All sensor readings can be viewed with `sysctl hw.sensors`, monitored in semi-realtime with `systat -sensors` and also logged with `sensorsd`. Submitted by: Constantine A. Murenin <cnst@FreeBSD.org> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors) Mentored by: syrinx Tested by: many OKed by: kensmith Obtained from: OpenBSD (parts)
* The problem is: currently our single byte ctype(3) functions are brokenache2007-10-1312-21/+57
| | | | | | | | | | | | | | | | | | | | | | | | | for wide characters locales in the argument range >= 0x80 - they may return false positives. Example 1: for UTF-8 locale we currently have: iswspace(0xA0)==1 and isspace(0xA0)==1 (because iswspace() and isspace() are the same code) but must have iswspace(0xA0)==1 and isspace(0xA0)==0 (because there is no such character and all others in the range 0x80..0xff for the UTF-8 locale, it keeps ASCII only in the single byte range because our internal wchar_t representation for UTF-8 is UCS-4). Example 2: for all wide character locales isalpha(arg) when arg > 0xFF may return false positives (must be 0). (because iswalpha() and isalpha() are the same code) This change address this issue separating single byte and wide ctype and also fix iswascii() (currently iswascii() is broken for arguments > 0xFF). This change is 100% binary compatible with old binaries. Reviewied by: i18n@
* Remove symbols that should not be exported.deischen2007-10-131-29/+0
| | | | | Submitted by: das MFC after re@ approval
* MFKernel: do not use __XSCALE__ to detect if clz/pld/ldrd/strd arecognet2007-10-133-9/+9
| | | | | | available, use _ARM_ARCH_5/_ARM_ARCH_5E instead. MFC After: 3 days
* Fixed "make checkdpadd" (missing library dependencies).ru2007-10-011-0/+1
| | | | Approved by: re (kensmith)
* Add fts_set_clientptr(3), fts_get_clientptr(3) and fts_get_stream(3) manscf2007-09-281-1/+2
| | | | | | | | page links to fts(3). Approved by: wes Approved by: re (hrs) MFC after: 5 days
* Assorted spelling, punctuation and mdoc fixes.brueffer2007-09-255-36/+39
| | | | Approved by: re (blanket)
* The precision for a string argument in a call to warnx() needs to be castscf2007-09-221-1/+2
| | | | | | | | | to an int to remove the warning from using a size_t variable on 64-bit platforms. Submitted by: Xin LI <delphij@FreeBSD.org> Approved by: wes Approved by: re (kensmith)
* Add FreeBSD history.obrien2007-09-211-1/+3
| | | | Approved by: re(ken)
* Fix some improper handling of malloc failuresmatteo2007-09-205-30/+53
| | | | | | | PR: bin/83344 , kern/81987 Reviewed by: alfred Approved by: re (kensmith) MFC after: 1 week
* - Fix description to say "receive" instead of "send"gabor2007-09-201-2/+2
| | | | | | PR: docs/115466 Submitted by: Bruce Cran <bruce@cran.org.uk> Approved by: re (bmah)
* Skip rebuilding environ in setenv() only upon reuse of an active variable;scf2007-09-151-2/+2
| | | | | | | | | | | inactive variables should cause a rebuild of environ, otherwise, exec()'d processes will be missing a variable in environ that has been unset then set. Submitted by: Taku Yamamoto <taku@tackymt.homeip.net> Reviewed by: ache Approved by: wes (mentor) Approved by: re (kensmith)
* Use better manuals for these ntp system calls. These were replaced byimp2007-09-153-201/+258
| | | | | | | the netbsd versions, and tweaked by me with suggestions from phk. Reviewed by: phk Approved by: re@
* We've been able to support EVFILT_VNODE filtering on non-UFSru2007-09-071-6/+1
| | | | | | | | file systems since 2005. Submitted by: Igor Sysoev Approved by: re (bmah) MFC after: 3 days
* ensure the head entry of addrinfo chain has non-NULL ai_canonname to bejinmei2007-09-051-2/+19
| | | | | | | | | compliant with RFC3493. PR: standards/114910 Approved by: ume (mentor) Approved by: re MFC after: 1 week
* Add thr_kill2 syscall.davidxu2007-08-221-0/+3
| | | | | Submitted by: Tijl Coosemans tijl at ulyssis dot org Approved by: re (kensmith)
* - Getipnodebyname() and getipnodebyaddr() reimplemented throughbushman2007-07-311-1387/+72
| | | | | | gethostbyname() and gethostbyaddr() accordingly Approved by: re (kensmith), brooks (mentor)
* - take out a needless panic under invariants for sctp_output.crrs2007-07-241-6/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix addrs's error checking of sctp_sendx(3) when addrcnt is less than SCTP_SMALL_IOVEC_SIZE - re-add back inpcb_bind local address check bypass capability - Fix it so sctp_opt_info is independant of assoc_id postion. - Fix cookie life set to use MSEC_TO_TICKS() macro. - asconf changes o More comment changes/clarifications related to the old local address "not" list which is now an explicit restricted list. o Rename some functions for clarity: - sctp_add/del_local_addr_assoc to xxx_local_addr_restricted() - asconf related iterator functions to sctp_asconf_iterator_xxx() o Fix bug when the same address is deleted and added (and removed from the asconf queue) where the ifa is "freed" twice refcount wise, possibly freeing it completely. o Fix bug in output where the first ASCONF would not go out after the last address is changed (e.g. only goes out when retransmitted). o Fix bug where multiple ASCONFs can be bundled in the same packet with the and with the same serial numbers. o Fix asconf stcb iterator to not send ASCONF until after all work queue entries have been processed. o Change behavior so that when the last address is deleted (auto asconf on a bound all endpoint) no action is taken until an address is added; at that time, an ASCONF add+delete is sent (if the assoc is still up). o Fix local address counting so that address scoping is taken into account. o #ifdef SCTP_TIMER_BASED_ASCONF the old timer triggered sending of ASCONF (after an RTO). The default now is to send ASCONF immediately (except for the case of changing/deleting the last usable address). Approved by: re(ken smith)@freebsd.org
* Set timeout for all NIS RPC requests to 1 second and not just forsimon2007-07-241-8/+8
| | | | | | | | | | | | yp_next as revision 1.50 did. This should fix, or at least very much reduce the risk of, NIS timing out due to UDP packet loss for NIS functions. See also revision 1.50 for more details about the general problem. Tested by: nosedive, freefall, hub, mx1, brooks MFC after: 1 week Approved by: re (mux)
OpenPOWER on IntegriCloud