aboutsummaryrefslogtreecommitdiffstats
path: root/erts/lib_src/common/erl_misc_utils.c
AgeCommit message (Collapse)Author
2017-05-04Update copyright yearRaimo Niskanen
2017-04-20erts: Fix erlexec to handle mismatch in sysconf and proc fsLukas Larsson
This behaviour has been seen when using docker together with --cpuset-cpus.
2016-03-15update copyright-yearHenrik Nord
2015-07-10ose: Remove all code related to the OSE portLukas Larsson
The OSE port is no longer supported and this commit removed it and any changes related to it. The things that were general improvements have been left in the code.
2015-06-18Change license text to APLv2Bruce Yinhe
2014-10-19Fix bug in FreeBSD topology detection codePaul Guyot
Code incorrectly relied on undefined C behavior. Clang and gcc 4.9 do not behave as code expected. This affected cores and processors detection on FreeBSD.
2014-06-30erts: Separate ethread inlining from ethread.hBjörn-Egil Dahlberg
The commit adb5dc0090bc419e2c4c1250653badbddeb6263b (ETHR_FORCE_INLINE) broke some platforms without adequate thread support.
2014-02-28Add ETHR_FORCE_INLINE define to hide compiler specific directivesJani Hakala
Some win32 specific code does not compile with gcc (mingw-w64) since '__forceinline' is not supported by gcc. This can be avoided by defining a new macro ETHR_FORCE_INLINE similar to ETHR_INLINE.
2014-02-24Added support for ENEA OSELukas Larsson
This port has support for both non-smp and smp. It contains a new way to do io checking in which erts_poll_wait receives the payload of the polled entity. This has implications for all linked-in drivers.
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-20erts: Fix type bug in get_proc_affinity for windowsR. Blaine Whittle
2013-01-28Revert "erts: Remove forgotten vxworks includes"Björn-Egil Dahlberg
This reverts commit 624751813b30a367c8255e86f26f7342aeb33cbc. Overzealous removal of vxworks includes
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-03-30Update copyright yearsBjörn-Egil Dahlberg
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-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.
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 'pg/fix-freebsd-dualcore-detection' into devHenrik Nord
* pg/fix-freebsd-dualcore-detection: Fix bug in FreeBSD topology detection code OTP-9453
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-21Fix bug in FreeBSD topology detection codePaul Guyot
2011-05-20Update copyright yearsBjörn-Egil Dahlberg
2011-02-23Fix some wrong pointer dereferencesCristian Greco
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
2010-11-18Add support for CPU affinity & topology detection on FreeBSD 8Paul Guyot
2010-10-01Teach read_topology not to crash on W2K3Patrik Nyblom
2010-08-30Implement automatic detection of CPU topology on WindowsRickard Green
The CPU topology is now automatically detected on Windows systems with less than 33 logical processors. The runtime system will now, also on Windows, by default bind schedulers to logical processors using the 'default_bind' bind type if the amount of schedulers is at least equal to the amount of logical processors configured, binding of schedulers is supported, and a CPU topology is available at startup.
2010-08-18Make it possible to reread and update detected CPU informationRickard Green
Calling erlang:system_info/1 with the new argument 'update_cpu_info' will make the runtime system reread and update the internally stored CPU information. For more information see the documentation of erlang:system_info(update_cpu_info).
2010-08-10Rewrite ethread libraryRickard Green
Large parts of the ethread library have been rewritten. The ethread library is an Erlang runtime system internal, portable thread library used by the runtime system itself. Most notable improvement is a reader optimized rwlock implementation which dramatically improve the performance of read-lock/read-unlock operations on multi processor systems by avoiding ping-ponging of the rwlock cache lines. The reader optimized rwlock implementation is used by miscellaneous rwlocks in the runtime system that are known to be read-locked frequently, and can be enabled on ETS tables by passing the `{read_concurrency, true}' option upon table creation. See the documentation of `ets:new/2' for more information. The ethread library can now also use the libatomic_ops library for atomic memory accesses. This makes it possible for the Erlang runtime system to utilize optimized atomic operations on more platforms than before. Use the `--with-libatomic_ops=PATH' configure command line argument when specifying where the libatomic_ops installation is located. The libatomic_ops library can be downloaded from: http://www.hpl.hp.com/research/linux/atomic_ops/ The changed API of the ethread library has also caused modifications in the Erlang runtime system. Preparations for the to come "delayed deallocation" feature has also been done since it depends on the ethread library. Note: When building for x86, the ethread library will now use instructions that first appeared on the pentium 4 processor. If you want the runtime system to be compatible with older processors (back to 486) you need to pass the `--enable-ethread-pre-pentium4-compatibility' configure command line argument when configuring the system.
2010-03-31OTP-8549 Fix out of bounds write in erts_get_cpu_topology()Rickard Green
The runtime system crashed if fewer logical processors were found than reported by sysconf( SC_NPROCESSORS_CONF).
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP