summaryrefslogtreecommitdiff
path: root/erts/etc/unix
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright yearHans Nilsson2017-06-141-1/+1
|
* Merge branch 'lukas/erts/etp-processes-ports-optimization'Lukas Larsson2017-05-231-7/+25
|\ | | | | | | | | * lukas/erts/etp-processes-ports-optimization: erts: Optimize etp-processes and etp-ports
| * erts: Optimize etp-processes and etp-portsLukas Larsson2017-05-221-7/+25
| | | | | | | | | | | | Not calculating the max, table and invalid addresses each loop speeds up iterating through the processes list by about 5x.
* | Merge branch 'rickard/ds-runqs'Rickard Green2017-05-191-2/+2
|\ \ | |/ |/| | | | | | | | | OTP-14152 * rickard/ds-runqs: Make statistics/1 aware of dirty run-queues and tasks
| * Make statistics/1 aware of dirty run-queues and tasksRickard Green2017-05-191-2/+2
| |
* | Let --enable-lock-counter build an additional emulatorBjörn Gustavsson2017-05-161-2/+2
|/ | | | | | | | | | | | | "./configure --enable-lock-counter" would modify the behavior of the default emulator (usually SMP). To make lock counting more accessible, change --enable-lock-counter to build an additional emulator in the same way as: (cd erts/emulator && make lcnt) (The next commit will make it easier to start the built lock-counter emulator.)
* Update copyright yearRaimo Niskanen2017-05-045-5/+5
|
* Merge branch 'rickard/timer-improvements'Rickard Green2017-04-211-0/+75
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OTP-14356 * rickard/timer-improvements: Fix of later timer wheel Minimum timeout position in each timer wheel Manage timers to trigger at once in a slot similar to other timers Introduce timer slot range counters Timer wheel divided into a "soon wheel" and a "later wheel" Remove unnecessary cancel callback from timer-wheel timers Rearrange timer struct fields in order to simplify Use timer wheel for short BIF timers Use magic refs for BIF timers Remove accessor BIF timer implementation Fix aux-work timer implementation
| * Minimum timeout position in each timer wheelRickard Green2017-04-181-0/+75
| | | | | | | | | | | | Minimum known timeout position is saved in bot far and near wheel. This information is used to avoid scanning from current position in the cases were we know the minimum timeout position.
* | Merge branch 'bjorn/dialyzer/add-typer/OTP-14336' into run-travisBjörn Gustavsson2017-04-211-0/+1
|\ \ | | | | | | | | | | | | | | | * bjorn/dialyzer/add-typer/OTP-14336: Add smoke test for TypER Add back TypEr to the main OTP repository
| * | Add back TypEr to the main OTP repositoryBjörn Gustavsson2017-04-201-0/+1
| |/ | | | | | | | | | | | | | | | | It turned out that the dependencies between Dialyzer and TypEr makes it impractical to have TypEr in a separate repository. Add it back to the OTP repository, but put the Erlang module 'typer' in the dialyzer application.
* | erts: Fix two compiler warnings on OS XLukas Larsson2017-03-281-1/+1
|/
* Remove typer applicationSiri Hansen2017-03-081-1/+0
| | | | The application now has an own repo, https://github.com/erlang/typer
* Fixed typos in ertsAndrew Dryga2017-02-143-3/+3
|
* Implement magic referencesRickard Green2017-02-061-24/+29
| | | | | | | | | | | | | | | | | | | | Magic references are *intentionally* indistinguishable from ordinary references for the Erlang software. Magic references do not change the language, and are intended as a pure runtime internal optimization. An ordinary reference is typically used as a key in some table. A magic reference has a direct pointer to a reference counted magic binary. This makes it possible to implement various things without having to do lookups in a table, but instead access the data directly. Besides very fast lookups this can also improve scalability by removing a potentially contended table. A couple of examples of planned future usage of magic references are ETS table identifiers, and BIF timer identifiers. Besides future optimizations using magic references it should also be possible to replace the exposed magic binary cludge with magic references. That is, magic binaries that are exposed as empty binaries to the Erlang software.
* Improve etp-commandsRickard Green2017-01-131-3/+273
|
* Switch between scheduler types when multi-scheduling is blockedRickard Green2017-01-131-0/+3
|
* Merge branch 'maint'Dan Gudmundsson2016-12-071-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Update copyright-year Conflicts: lib/dialyzer/src/dialyzer.hrl lib/dialyzer/src/dialyzer_options.erl lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer.hrl lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer_races.erl lib/hipe/icode/hipe_icode.erl lib/hipe/main/hipe.erl lib/hipe/main/hipe.hrl.src lib/hipe/main/hipe_main.erl
| * Update copyright-yearErlang/OTP2016-12-071-1/+1
| |
* | Merge branch 'maint'Rickard Green2016-11-231-36/+87
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Update etp-commands for dirty schedulers Fix scheduling of system tasks on processes executing dirty Fix call time tracing with dirty schedulers Fix send of exit signal to process executing dirty Fix dirty scheduler process priority Fix alloc-util hard-debug Silence debug warning when no beam jump table is used with dirty schedulers Fix check_process_code() when NifExport is in use Fix GC when NifExport is in use Fix saving of original arguments when rescheduling via NifExport Conflicts: erts/emulator/beam/beam_bif_load.c erts/emulator/beam/erl_nif.c
| * Merge branch 'rickard/dirty-scheduling-fixes' into maintRickard Green2016-11-231-36/+87
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OTP-14051 * rickard/dirty-scheduling-fixes: Update etp-commands for dirty schedulers Fix scheduling of system tasks on processes executing dirty Fix call time tracing with dirty schedulers Fix send of exit signal to process executing dirty Fix dirty scheduler process priority Fix alloc-util hard-debug Silence debug warning when no beam jump table is used with dirty schedulers Conflicts: erts/etc/unix/etp-commands.in
| | * Update etp-commands for dirty schedulersRickard Green2016-11-221-36/+87
| | |
* | | erts: Fix all -Wundef errorsSverker Eriksson2016-11-171-2/+2
| | |
* | | Merge branch 'maint'Lukas Larsson2016-10-181-7/+65
|\ \ \ | |/ /
| * | erts: Add etp-disasm gdb macroLukas Larsson2016-10-181-7/+65
| | |
* | | erts: Improve printouts for some etp commandsLukas Larsson2016-10-121-27/+36
| | | | | | | | | | | | Specifically etp-stacktrace/stackdump/process-info have been changed
* | | erts: Refactor out func_info into structLukas Larsson2016-10-121-2/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds two new structs to be used to represent erlang code in erts. ErtsCodeInfo is used to describe the i_func_info header that is part of all Export entries and the prelude of each function. This replaces all the BeamInstr * that were previously used to point to these locations. After this change the code should never use BeamInstr * with offsets to figure out different parts of the func_info header. ErtsCodeMFA is a struct that is used to descripe a MFA in code. It is used within ErtsCodeInfo and also in Process->current. All function that previously took Eterm * or BeamInstr * to identify a MFA now use the ErtsCodeMFA or ErtsCodeInfo where appropriate. The code has been tested to work when adding a new field to the ErtsCodeInfo struct, but some updates are needed in ops.tab to make it work.
* | erts: Make cerl -dump core work on macSverker Eriksson2016-09-231-4/+14
|/
* doc: Use groff with -Tutf8Hans Bolinder2016-09-061-1/+1
|
* Merge branch 'sverker/run_erl-pty-race/OTP-13795' into maintSverker Eriksson2016-08-101-4/+25
|\
| * run_erl: Add sleepy_child test caseSverker Eriksson2016-08-101-0/+9
| | | | | | | | | | with run_erl option -sleepy-child to provoke race when slave pty is late
| * run_erl: Fix failing run_erl invokation on OpenBSDSverker Eriksson2016-07-051-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Symptom: run_erl does exit(0) and child program (erl) does not seem to start. Running run_erl again however brings the previous child program to life. Problem: A race causing run_erl to read 0 from master pty and exit because the child has not yet opened its corresponding slave pty. Solution: Use the non standard openpty() function instead that does not expose this race as the slave fd is opened in the parent. Question: Is there a race free way to do this with posix_openpt on OpenBSD?
| * run_erl: Beautify #ifdef jungleSverker Eriksson2016-07-051-2/+2
| |
* | erts: Fix etp-carrier-blocks for non smpSverker Eriksson2016-06-221-1/+16
|/
* erts: Make etp-*-info take any value as inputLukas Larsson2016-06-141-54/+57
|
* erts: Add etp commands to re-compile erlangLukas Larsson2016-06-141-0/+20
|
* Update process state flags in etp-commandsRickard Green2016-05-311-2/+23
|
* Merge branch 'henrik/update-copyrightyear'Henrik Nord2016-04-1318-18/+18
|\ | | | | | | | | * henrik/update-copyrightyear: update copyright-year
| * update copyright-yearHenrik Nord2016-03-1518-18/+18
| |
* | erts: Fix etp pid print on big endianLukas Larsson2016-03-241-1/+1
| |
* | Merge branch 'lukas/erts/fix-vsyslog-freebsd/OTP-13427'Lukas Larsson2016-03-181-6/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | * lukas/erts/fix-vsyslog-freebsd/OTP-13427: erts: Fix run_erl syslog prototypes for freebsd Conflicts: erts/etc/unix/run_erl.c
| * | erts: Fix run_erl syslog prototypes for freebsdLukas Larsson2016-02-291-5/+4
| |/
* | run_erl: Don't define _XOPEN_SOURCE on OS XBjörn Gustavsson2016-03-151-3/+8
|/ | | | | | | | | | On MacOS X, defining _XOPEN_SOURCE usually *removes* features from header files. Therefore, we should not set _XOPEN_SOURCE to 600 since that will remove the prototype for vsyslog(). Setting it to an empty value or not including it will ensure that the vsyslog() prototype is included.
* ose: Remove all code related to the OSE portLukas Larsson2015-07-105-37/+1385
| | | | | | 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.
* erts: Remove halfword etp-commandsBjörn-Egil Dahlberg2015-06-241-11/+5
|
* Change license text to APLv2Bruce Yinhe2015-06-1817-164/+181
|
* erts: Fix typo in etp-carrier-blocksSverker Eriksson2015-05-181-1/+1
|
* erts: Add map support to gdb etp commandSverker Eriksson2015-04-141-1/+56
|
* erts: Add etp_the_non_valueSverker Eriksson2015-04-101-6/+2
| | | | for a correct (non)value regardless of build type.
* Merge branch 'rickard/time_api/OTP-11997'Rickard Green2015-03-201-1/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rickard/time_api/OTP-11997: (22 commits) Update primary bootstrap inets: Suppress deprecated warning on erlang:now/0 inets: Cleanup of multiple copies of functions Add inets_lib with common functions used by multiple modules inets: Update comments Suppress deprecated warning on erlang:now/0 Use new time API and be back-compatible in inets Remove unused functions and removed redundant test asn1 test SUITE: Eliminate use of now/0 Disable deprecated warning on erlang:now/0 in diameter_lib Use new time API and be back-compatible in ssh Replace all calls to now/0 in CT with new time API functions test_server: Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API otp_SUITE: Warn for calls to erlang:now/0 Replace usage of erlang:now() with usage of new API Multiple timer wheels Erlang based BIF timer implementation for scalability Implement ethread events with timeout ... Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/compiler/ebin/beam_asm.beam bootstrap/lib/compiler/ebin/compile.beam bootstrap/lib/kernel/ebin/auth.beam bootstrap/lib/kernel/ebin/dist_util.beam bootstrap/lib/kernel/ebin/global.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam bootstrap/lib/kernel/ebin/inet_db.beam bootstrap/lib/kernel/ebin/inet_dns.beam bootstrap/lib/kernel/ebin/inet_res.beam bootstrap/lib/kernel/ebin/os.beam bootstrap/lib/kernel/ebin/pg2.beam bootstrap/lib/stdlib/ebin/dets.beam bootstrap/lib/stdlib/ebin/dets_utils.beam bootstrap/lib/stdlib/ebin/erl_tar.beam bootstrap/lib/stdlib/ebin/escript.beam bootstrap/lib/stdlib/ebin/file_sorter.beam bootstrap/lib/stdlib/ebin/otp_internal.beam bootstrap/lib/stdlib/ebin/qlc.beam bootstrap/lib/stdlib/ebin/random.beam bootstrap/lib/stdlib/ebin/supervisor.beam bootstrap/lib/stdlib/ebin/timer.beam erts/aclocal.m4 erts/emulator/beam/bif.c erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_db_hash.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_thr_progress.c erts/emulator/beam/utils.c erts/emulator/sys/unix/sys.c erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/init.beam erts/preloaded/src/erts_internal.erl lib/common_test/test/ct_hooks_SUITE_data/cth/tests/empty_cth.erl lib/diameter/src/base/diameter_lib.erl lib/kernel/src/os.erl lib/ssh/test/ssh_basic_SUITE.erl system/doc/efficiency_guide/advanced.xml