aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-06-15The R14A releaseOTP_R14AErlang/OTP
Final merge of all unexpected differences from dev to release.
2010-06-15Update highlightsPatrik Nyblom
2010-06-15Update release notesPatrik Nyblom
2010-06-15Added empty line for solaris sedDan Gudmundsson
2010-06-14OTP-8711 Make ei build on VxWorksBjörn-Egil Dahlberg
Make erl_interface build on VxWorks
2010-06-14OTP-8710 Fix emulator crash caused by setting CPU topologyRickard Green
A user defined CPU topology set via a call to <seealso marker="erlang#system_flag_cpu_topology">erlang:system_flag(cpu_topology, CPUTopology)</seealso> was not properly verified, and could in worst case cause an emulator crash. The emulator crash could only occur when a user defined CPU topology already existed and was redefined.
2010-06-14Make reltool escript executableErlang/OTP
2010-06-14OTP-8695 New ssl defaultIngela Anderton Andin
Ssl has now switched default implementation and removed deprecated certificate handling. All certificate handling is done by the public_key application.
2010-06-11Update deprecations for sslBjörn Gustavsson
2010-06-11OTP-8695 New ssl defaultIngela Anderton Andin
Ssl has now switched default implementation and removed deprecated certificate handling. All certificate handling is done by the public_key application.
2010-06-11** Empty commit message **Patrik Nyblom
2010-06-11Update release notesBjörn Gustavsson
2010-06-11Merge branch 'egil/eprof' into devErlang/OTP
* egil/eprof: Fix eprof to handle error cases Dialyzer cleanup for eprof Fix fprof_SUITE to use new eprof API Switch pattern API for eprof profile with mfa Update eprof documentation Update eprof_SUITE with more basic tests Rename sorting choices for eprof Teach eprof to align text output Add dump functionality to eprof Add log functionality to eprof Update eprof tests to reflect new eprof Add start timestamp to eprof profiling Teach eprof to use the new breakpoints OTP-8706 egil/eprof eprof has been reimplemented with support in the Erlang virtual machine and is now both faster (i.e. slows down the code being measured less) and scales much better. In measurements we saw speed-ups compared to the old eprof ranging from 6 times (for sequential code that only uses one scheduler/core) up to 84 times (for parallel code that uses 8 cores).
2010-06-11Merge branch 'se/port_SUITE_env' into devErlang/OTP
* se/port_SUITE_env: fix open_port with many unset env vars allow open_port with env vars with trailing '=' on Windows OTP-8701 se/port_SUITE_env open_port/2 with the spawn and spawn_executable options can include an {env,Env} option. In some cases unsetting variables would not work on Unix (typically if more variables were unset than were actually present in the environment).
2010-06-11Merge branch 'peppe/common_test_r14_dev_2' into devErlang/OTP
* peppe/common_test_r14_dev_2: Misc documentation updates Add documentation for run_test program Step vsn for test_server to 3.4 Make {repeat*,N} property in group execute the group N times exactly Fix so that ct_run converts relative diretories in the code path to absolute Fix bug in handling framework:end_tc timeouts Fix bug that prevents the interactive shell mode to start properly Fix failing multiply timetrap test case Minor fixes in code and test suites Add support for executing pre-loaded suites (e.g. modules loaded as binaries) Add test suite for remote loading of binary suites Fix error with {repeat,0} property in groups causing double iterations Add support for config info functions (e.g. init_per_suite/0) Add support for dynamic timetrap handling Have end_per_testcase run even after timetrap_timeout and abort_testcase Flush old DOWN messages in demonitor Add groups in test specifications Add new tests for test case groups and test specifications Improve and fix various test suites Add event_handler_init start flag that can pass init arguments to event handlers ... OTP-8703 peppe/common_test_r14_dev_2
2010-06-11reltool releaseDan Gudmundsson
2010-06-11OTP-8695 New ssl defaultIngela Anderton Andin
Ssl has now switched default implementation and removed deprecated certificate handling. All certificate handling is done by the public_key application.
2010-06-11Merge branch 'hm/reltool-find-regular' into devErlang/OTP
* hm/reltool-find-regular: Improve lookup of erl files
2010-06-10Update version numbersBjörn Gustavsson
2010-06-10fix open_port with many unset env varsSverker Eriksson
The erlang:open_port spawn and spawn_executable directives can include an {env, Env} directive to set up environment variables for the spawned process. Variables can be unset with {"NameOfVariable",false}. A bug in ert/emulator/sys/unix/sys.c could cause unset variables to not be unset. This would typically happen if there where more variables to be unset than there where already set variables in the destination evironment. Fix this problem for unix and add a new regression test for it to the port test suite. Windows does not seem to have the same problem.
2010-06-10allow open_port with env vars with trailing '=' on WindowsSverker Eriksson
Same problem that Steve Vinoski fixed for Unix. Similar fix done in erts/emulator/sys/win32/sys_env.c for Windows. Copy-paste from his commit-message: The erlang:open_port spawn and spawn_executable directives can include an {env, Env} directive to set up environment variables for the spawned process. A bug in ert/emulator/sys/unix/sys.c prevented applications from using {env, Env} to set an environment variable whose value ended with a '=' (equal sign) character; the code mistook the trailing equal sign as an indication that an environment variable was to be cleared from the environment of the spawned process. For example, passing an {env, Env} of {env, [{"foo", "bar="}]} would result in the code in sys.c seeing a string of the form "foo=bar=" The code would see the final '=' character and assume the directive wanted to clear a variable named "foo=bar" from the environment of the spawned process, rather than seeing it as a directive to set the environment variable "foo" to the value "bar=".
2010-06-10Update version numberLars G Thorsen
2010-06-09Fix eprof to handle error casesBjörn-Egil Dahlberg
2010-06-09Update version for asn1Björn-Egil Dahlberg
2010-06-09Dialyzer cleanup for eprofBjörn-Egil Dahlberg
2010-06-09Update bootstrap compilerBjörn Gustavsson
2010-06-09Misc documentation updatesPeter Andersson
2010-06-09Add documentation for run_test programPeter Andersson
2010-06-09Step vsn for test_server to 3.4Peter Andersson
2010-06-09Make {repeat*,N} property in group execute the group N times exactlyPeter Andersson
To be consistent with the behaviour of the run_test repeat flag/option, the repeat* group property has been changed to specify absolute number of test runs. Previously {repeat,N} meant "execute the group 1 time + N repeats". Now it means "execute the group N times".
2010-06-09Fix so that ct_run converts relative diretories in the code path to absolutePeter Andersson
Directories added with run_test -pa or -pz in the pre erl_args part of the command line will be converted from relative to absolute, this to avoid confusion when Common Test switches working directory during the test run. Also fixed in this commit: Problem with timeouts during init_tc or end_tc (in the Test Server framework).
2010-06-09Fix bug in handling framework:end_tc timeoutsPeter Andersson
2010-06-09Fix bug that prevents the interactive shell mode to start properlyPeter Andersson
2010-06-09Fix failing multiply timetrap test casePeter Andersson
2010-06-09Minor fixes in code and test suitesPeter Andersson
2010-06-09Add support for executing pre-loaded suites (e.g. modules loaded as binaries)Peter Andersson
Also fixed bug in test_server that calls end_per_testcase after test case timeout or abortion.
2010-06-09Add test suite for remote loading of binary suitesPeter Andersson
2010-06-09Fix error with {repeat,0} property in groups causing double iterationsPeter Andersson
2010-06-09Add support for config info functions (e.g. init_per_suite/0)Peter Andersson
Also fixed bug: return value {fail,Reason} from end_tc(init_per_suite) was ignored.
2010-06-09Add support for dynamic timetrap handlingPeter Andersson
2010-06-09Have end_per_testcase run even after timetrap_timeout and abort_testcasePeter Andersson
2010-06-09Flush old DOWN messages in demonitorPeter Andersson
2010-06-09Add groups in test specificationsPeter Andersson
Ongoing work...
2010-06-09Add new tests for test case groups and test specificationsPeter Andersson
2010-06-09Improve and fix various test suitesPeter Andersson
2010-06-09Add event_handler_init start flag that can pass init arguments to event handlersPeter Andersson
Also changed: The userconfig option in ct:run_test/1 from 3-tuple to 2-tuple.
2010-06-09Make it possible to run ts tests for Common Test via the ↵Peter Andersson
ct_run:script_start() interface The possibility to pass start arguments to ct_run:start_script/0 by means of an application environment variable has been implemented. This will be used by ct_test_support for automatic testing of all common_test start interfaces.
2010-06-09Implement support for user controllable timetrap parameters (multiply and scale)Peter Andersson
Documentation still missing.
2010-06-09Add -erl_args flag to run_test programPeter Andersson
With -erl_args it's possible to divide the start options on the command line and this way specify explicitly which options are meant for Common Test, and which are meant for other OTP applications (or ERTS).