aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc/unix
AgeCommit message (Collapse)Author
2017-11-27Merge branch 'maint'Sverker Eriksson
2017-11-23run_erl: Cleanup buggy retry of closeSverker Eriksson
The retry loop wasn't working anyway as it tested fd<0 instead of res. So, there is no real semantic change here.
2017-10-16Merge branch 'maint'Sverker Eriksson
2017-10-12erts: Add -rr option to cerl start scriptSverker Eriksson
to run beam with "rr record".
2017-10-02erts: Move all I/O polling to a seperate threadLukas Larsson
2017-08-12run_erl: Fix error handling in sf_close and during pty master readMarko Turk
2017-07-17erts: Cleanup removal of non-smp emulatorsLukas Larsson
2017-07-17erts: Remove usage of sys.h from etc toolsLukas Larsson
2017-06-14Update copyright yearHans Nilsson
2017-05-23Merge branch 'lukas/erts/etp-processes-ports-optimization'Lukas Larsson
* lukas/erts/etp-processes-ports-optimization: erts: Optimize etp-processes and etp-ports
2017-05-22erts: Optimize etp-processes and etp-portsLukas Larsson
Not calculating the max, table and invalid addresses each loop speeds up iterating through the processes list by about 5x.
2017-05-19Merge branch 'rickard/ds-runqs'Rickard Green
OTP-14152 * rickard/ds-runqs: Make statistics/1 aware of dirty run-queues and tasks
2017-05-19Make statistics/1 aware of dirty run-queues and tasksRickard Green
2017-05-16Let --enable-lock-counter build an additional emulatorBjörn Gustavsson
"./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.)
2017-05-04Update copyright yearRaimo Niskanen
2017-04-21Merge branch 'rickard/timer-improvements'Rickard Green
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
2017-04-21Merge branch 'bjorn/dialyzer/add-typer/OTP-14336' into run-travisBjörn Gustavsson
* bjorn/dialyzer/add-typer/OTP-14336: Add smoke test for TypER Add back TypEr to the main OTP repository
2017-04-20Add back TypEr to the main OTP repositoryBjörn Gustavsson
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.
2017-04-18Minimum timeout position in each timer wheelRickard Green
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.
2017-03-28erts: Fix two compiler warnings on OS XLukas Larsson
2017-03-08Remove typer applicationSiri Hansen
The application now has an own repo, https://github.com/erlang/typer
2017-02-14Fixed typos in ertsAndrew Dryga
2017-02-06Implement magic referencesRickard Green
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.
2017-01-13Improve etp-commandsRickard Green
2017-01-13Switch between scheduler types when multi-scheduling is blockedRickard Green
2016-12-07Merge branch 'maint'Dan Gudmundsson
* 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
2016-12-07Update copyright-yearErlang/OTP
2016-11-23Merge branch 'maint'Rickard Green
* 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
2016-11-23Merge branch 'rickard/dirty-scheduling-fixes' into maintRickard Green
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
2016-11-22Update etp-commands for dirty schedulersRickard Green
2016-11-17erts: Fix all -Wundef errorsSverker Eriksson
2016-10-18Merge branch 'maint'Lukas Larsson
2016-10-18erts: Add etp-disasm gdb macroLukas Larsson
2016-10-12erts: Improve printouts for some etp commandsLukas Larsson
Specifically etp-stacktrace/stackdump/process-info have been changed
2016-10-12erts: Refactor out func_info into structLukas Larsson
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.
2016-09-23erts: Make cerl -dump core work on macSverker Eriksson
2016-09-06doc: Use groff with -Tutf8Hans Bolinder
2016-08-10Merge branch 'sverker/run_erl-pty-race/OTP-13795' into maintSverker Eriksson
2016-08-10run_erl: Add sleepy_child test caseSverker Eriksson
with run_erl option -sleepy-child to provoke race when slave pty is late
2016-07-05run_erl: Fix failing run_erl invokation on OpenBSDSverker Eriksson
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?
2016-07-05run_erl: Beautify #ifdef jungleSverker Eriksson
2016-06-22erts: Fix etp-carrier-blocks for non smpSverker Eriksson
2016-06-14erts: Make etp-*-info take any value as inputLukas Larsson
2016-06-14erts: Add etp commands to re-compile erlangLukas Larsson
2016-05-31Update process state flags in etp-commandsRickard Green
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-03-24erts: Fix etp pid print on big endianLukas Larsson
2016-03-18Merge branch 'lukas/erts/fix-vsyslog-freebsd/OTP-13427'Lukas Larsson
* lukas/erts/fix-vsyslog-freebsd/OTP-13427: erts: Fix run_erl syslog prototypes for freebsd Conflicts: erts/etc/unix/run_erl.c
2016-03-15update copyright-yearHenrik Nord
2016-03-15run_erl: Don't define _XOPEN_SOURCE on OS XBjörn Gustavsson
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.