aboutsummaryrefslogtreecommitdiffstats
path: root/erts/lib_src/common
AgeCommit message (Collapse)Author
2013-01-28Revert "erts: Remove forgotten vxworks includes"Björn-Egil Dahlberg
This reverts commit 624751813b30a367c8255e86f26f7342aeb33cbc. Overzealous removal of vxworks includes
2013-01-23Fix clang compiler warnings on FreeBSD in ertsPatrik Nyblom
The following are deliberately left, as I have only a list of compiler warnings and no system to test on: hipe/hipe_x86_signal.c:264:5: warning: no previous prototype for function '_sigaction' [-Wmissing-prototypes] int __SIGACTION(int signum, const struct sigaction *act, struct sigaction *oldact) ^ hipe/hipe_x86_signal.c:222:21: note: expanded from macro '__SIGACTION' ^ 1 warning generated. sys/unix/sys_float.c:835:16: warning: declaration of 'struct exception' will not be visible outside of this function [-Wvisibility] matherr(struct exception *exc) ^ sys/unix/sys_float.c:835:1: warning: no previous prototype for function 'matherr' [-Wmissing-prototypes] matherr(struct exception *exc) ^ 2 warnings generated. drivers/unix/unix_efile.c:1504:11: warning: implicit declaration of function 'sendfile' [-Wimplicit-function-declaration] retval = sendfile(in_fd, out_fd, *offset, SENDFILE_CHUNK_SIZE, ^ 1 warning generated.
2012-10-10erts: Fix '#ifdef' for unused static functionsBjörn-Egil Dahlberg
On architectures where cpu topology was unavailable, warnings erupted due to unused static functions. Those warnings are now silenced.
2012-10-10erts: Remove forgotten vxworks includesBjörn-Egil Dahlberg
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-08-21erts: Fix bug in erts_printf for %s with precisionSverker Eriksson
Valgrind complains "Conditional jump or move depends on uninitialised value" when strlen steps past given string maxlen (precision).
2012-04-04Increase ethr event and lock counting constants to allow at least +A 1024.Rick Reed
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-22Update dtrace for changes in R15Björn-Egil Dahlberg
2012-03-22Add DTrace support for OS X, Solaris, and Linux (via SystemTap), 3/4Scott Lystig Fritchie
Add probes to the virtual machine, except (mostly) the efile_drv.c driver and other file I/O-related source files.
2012-03-15erts: Fix memory corruption when reading topology infoSverker Eriksson
If the number of processors actually found while reading sysfs is lower than the configured value, we realloc() the cpuinfo array to the smaller size, but we then iterate it using the original configured size, thus corrupting memory beyond the allocated block.
2012-03-15Merge branch 'rickard/barriers/OTP-9922' into maintRickard Green
* rickard/barriers/OTP-9922: Remove newly introduced excessive barrier in erts_thr_progress_later() Fix implementation with ddrb barriers
2012-03-12Fix implementation with ddrb barriersRickard Green
2012-03-09erts: Fix crash on Linux if /sys/devices/system/node is not readableSverker Eriksson
Fallback on using /sys/devices/system/cpu to get cpu topology, as is already done when node directory doesn't exist.
2012-02-21Fix implementation with ddrb barriersRickard Green
2012-02-19Misc memory barrier fixesRickard Green
- Document barrier semantics - Introduce ddrb suffix on atomic ops - Barrier macros for both non-SMP and SMP case - Make the thread progress API a bit more intuitive
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-11-16Remove remaining gcc 4.6 assigned-but-not-used warnings from ertsPatrik Nyblom
2011-11-13Merge branch 'rickard/bad-rwmtx-assert'Rickard Green
* rickard/bad-rwmtx-assert: Fix bad assertion in rwmtx implementation
2011-11-13Use critical sections as mutex implementation on WindowsRickard Green
Windows native critical sections are now used internally in the runtime system as mutex implementation. This since they perform better under extreme contention than our own implementation.
2011-11-11Fix bad assertion in rwmtx implementationRickard Green
2011-10-14Merge branch 'rickard/atomics-api/OTP-9014' and OTP_R14B04Rickard Green
Conflicts: erts/aclocal.m4 erts/emulator/beam/erl_db.c erts/emulator/sys/win32/sys.c erts/include/internal/ethread_header_config.h.in
2011-09-29Update copyright yearsBjörn-Egil Dahlberg
2011-09-16Merge branch 'pan/erts_printf_term/OTP-9435' into devBjörn-Egil Dahlberg
* pan/erts_printf_term/OTP-9435: Correct return values from write-functions in erl_printf
2011-09-08Merge branch 'hw/detect-cpus-on-irix' into devHenrik Nord
* hw/detect-cpus-on-irix: Detect the available CPUs on IRIX OTP-9531
2011-08-08Merge branch 'cg/fix-constant-logical-operand' into devHenrik Nord
* cg/fix-constant-logical-operand: Fix use of logical operator && with constant operand instead of bitwise &. OTP-9454
2011-08-08Merge branch 'pg/fix-freebsd-dualcore-detection' into devHenrik Nord
* pg/fix-freebsd-dualcore-detection: Fix bug in FreeBSD topology detection code OTP-9453
2011-07-13Correct return values from write-functions in erl_printfPatrik Nyblom
2011-06-14Improve ethread atomicsRickard Green
The ethread atomics API now also provide double word size atomics. Double word size atomics are implemented using native atomic instructions on x86 (when the cmpxchg8b instruction is available) and on x86_64 (when the cmpxchg16b instruction is available). On other hardware where 32-bit atomics or word size atomics are available, an optimized fallback is used; otherwise, a spinlock, or a mutex based fallback is used. The ethread library now performs runtime tests for presence of hardware features, such as for example SSE2 instructions, instead of requiring this to be determined at compile time. There are now functions implementing each atomic operation with the following implied memory barrier semantics: none, read, write, acquire, release, and full. Some of the operation-barrier combinations aren't especially useful. But instead of filtering useful ones out, and potentially miss a useful one, we implement them all. A much smaller set of functionality for native atomics are required to be implemented than before. More or less only cmpxchg and a membar macro are required to be implemented for each atomic size. Other functions will automatically be constructed from these. It is, of course, often wise to implement more that this if possible from a performance perspective.
2011-06-07Detect the available CPUs on IRIXHolger Weiß
Add support for querying the number of configured and online processors on SGI systems running IRIX.
2011-05-24Fix use of logical operator && with constant operand instead of bitwise &.Cristian Greco
2011-05-21Fix bug in FreeBSD topology detection codePaul Guyot
2011-05-20Update copyright yearsBjörn-Egil Dahlberg
2011-05-06erts_printf %R for relative ets-terms in halfword-vmSverker Eriksson
Conflicts: erts/emulator/beam/erl_printf_term.c
2011-04-27Merge branch 'sverker/erts_printf-halfword' into devSverker Eriksson
* sverker/erts_printf-halfword: erts_printf %be to print integers of size Eterm Fix use of type BeamInstr in hipe_debug.c Conflicts: erts/emulator/hipe/hipe_debug.c
2011-03-16erts_printf %be to print integers of size EtermSverker Eriksson
Existing %bp to print pointer size integers does not work in halfword emulator to print Eterm size integers.
2011-02-23Fix some wrong pointer dereferencesCristian Greco
2010-12-16Unbreak atomic fallbackRickard Green
2010-12-16Use 32-bit atomic for uaflgs in thread specific eventsRickard Green
2010-12-15Use 32-bit atomics for mutex and rwmutex flagsRickard Green
2010-12-15Add support for 32-bit atomicsRickard Green
2010-12-14Move atomic API into own filesRickard Green
2010-12-11Introduce ethr_sint_t and use it for atomicsRickard Green
The atomic memory operations interface used the 'long' type and assumed that it was of the same size as 'void *'. This is true on most platforms, however, not on Windows 64.
2010-12-06Merge branch 'rickard/rwmutex-bug/OTP-8925' into devRickard Green
* rickard/rwmutex-bug/OTP-8925: Fix erroneous assertion
2010-12-06Fix erroneous assertionRickard Green
2010-12-03Merge branch 'rickard/rwmutex-bug/OTP-8925' into devRickard Green
* rickard/rwmutex-bug/OTP-8925: Use correct argument types on rwlock_wake_set_flags()
2010-12-02Use correct argument types on rwlock_wake_set_flags()Rickard Green
2010-12-01Merge branch 'rickard/rwmutex-bug/OTP-8925' into devRickard Green
* rickard/rwmutex-bug/OTP-8925: Miscellaneous rwmutex bug fixes and improvements Don't use more reader groups than schedulers New test suite containing stress tests of the rwmutex implementation Conflicts: erts/emulator/beam/erl_init.c
2010-12-01Miscellaneous rwmutex bug fixes and improvementsRickard Green
The ERTS internal rwlock implementation could get into an inconsistent state. This bug was very seldom triggered, but could be during heavy contention. The bug was introduced in R14B (erts-5.8.1). The bug was most likely to be triggered when using the read_concurrency option on an ETS table that was frequently accessed from multiple processes doing lots of writes and reads. That is, in a situation where you typically don't want to use the read_concurrency option in the first place.
2010-11-18Merge branch 'pg/freebsd-cpu-affinity-and-topology' into devRickard Green
* pg/freebsd-cpu-affinity-and-topology: Add support for CPU affinity & topology detection on FreeBSD 8 OTP-8939