aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc/unix
AgeCommit message (Collapse)Author
2013-12-07Merge branch 'rickard/garbage_collect/OTP-11388'Rickard Green
* rickard/garbage_collect/OTP-11388: Parallel check_process_code when code_server purge a module Functionality for disabling garbage collection Use asynchronous check_process_code in code_parallel_SUITE Execution of system tasks in context of another process Conflicts: bootstrap/lib/kernel/ebin/hipe_unified_loader.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-11-29Merge branch 'dgud/sasl/no_dot_erlang_boot/OTP-8479' into maintDan Gudmundsson
* dgud/sasl/no_dot_erlang_boot/OTP-8479: sasl: Add no_dot_erlang documentation and tests sasl: Add no_dot_erlang start script
2013-11-18Functionality for disabling garbage collectionRickard Green
Being able to disable garbage collection over context switches vastly simplifies implementation of yielding native code that builds large or complex data structures on the heap. This since the heap can be left in an inconsistent state over the context switch.
2013-11-18Execution of system tasks in context of another processRickard Green
A process requesting a system task to be executed in the context of another process will be notified by a message when the task has executed. This message will be on the form: {RequestType, RequestId, Pid, Result}. A process requesting a system task to be executed can set priority on the system task. The requester typically set the same priority on the task as its own process priority, and by this avoiding priority inversion. A request for execution of a system task is made by calling the statically linked in NIF erts_internal:request_system_task(Pid, Prio, Request). This is an undocumented ERTS internal function that should remain so. It should *only* be called from BIF implementations. Currently defined system tasks are: * garbage_collect * check_process_code Further system tasks can and will be implemented in the future. The erlang:garbage_collect/[1,2] and erlang:check_process_code/[2,3] BIFs are now implemented using system tasks. Both the 'garbage_collect' and the 'check_process_code' operations perform or may perform garbage_collections. By doing these via the system task functionality all garbage collect operations in the system will be performed solely in the context of the process being garbage collected. This makes it possible to later implement functionality for disabling garbage collection of a process over context switches. Newly introduced BIFs: * erlang:garbage_collect/2 - The new second argument is an option list. Introduced option: * {async, RequestId} - making it possible for users to issue asynchronous garbage collect requests. * erlang:check_process_code/3 - The new third argument is an option list. Introduced options: * {async, RequestId} - making it possible for users to issue asynchronous check process code requests. * {allow_gc, boolean()} - making it possible to issue requests that aren't allowed to garbage collect (operation will abort if gc should be needed). These options have been introduced as a preparation for parallelization of check_process_code operations when the code_server is about to purge a module.
2013-11-15Merge branch 'sverk/cerl-gdb-fix' into maintSverker Eriksson
* sverk/cerl-gdb-fix: erts: Fix cerl -gdb
2013-11-13erts: Fix cerl -gdbSverker Eriksson
by replacing all newlines in $beam_args with space
2013-11-07erts: Add cerl -dump and dumping in z_SUITELukas Larsson
2013-10-09Merge branch 'nox/silent-rules-fixes/OTP-11351' into maintFredrik Gustafsson
* nox/silent-rules-fixes/OTP-11351: Fix two small silent rules omissions
2013-10-03sasl: Add no_dot_erlang start scriptDan Gudmundsson
Sometimes it is wanted to start erlang without loading the user dependent .erlang file, for example in scripts and configure tests.
2013-09-21Fix two small silent rules omissionsAnthony Ramine
2013-09-11Define LOG_ERR for systems without syslog.hMatt Lewandowsky
2013-09-11Fix syslog definesMatt Lewandowsky
config.h defines HAVE_SYSLOG_H whereas the sources are looking for NO_SYSLOG to be undefined. As the logic of "if feature is available" makes more sense than "if feature is not unavailable", I opted for the config.h define.
2013-09-05Merge branch 'sverk/valgrind-single-core' into maintSverker Eriksson
* sverk/valgrind-single-core: erts: Speed up valgrind with asynch threads
2013-08-23erts: Speed up valgrind with asynch threadsSverker Eriksson
by only letting it run on one core. Valgrind only let one thread at a time execute anyway.
2013-08-08etp: Do not use name as beam.smp is the name on LinuxLukas Larsson
2013-08-05erts: Create gdb pything script for thread listingLukas Larsson
2013-07-29Merge branch 'weisslj/run-erl-redirect-dev-null/OTP-11215' into maintFredrik Gustafsson
* weisslj/run-erl-redirect-dev-null/OTP-11215: run_erl: Redirect standard streams to /dev/null
2013-07-22Merge branch 'sze/to_erl/OTP-11206' into maintBjörn-Egil Dahlberg
* sze/to_erl/OTP-11206: Fix changing terminal parameters in to_erl
2013-07-22Fix changing terminal parameters in to_erlStefan Zegenhagen
One of our devices does not like 'to_erl' to be run over a serial port. When to_erl is started, we see "Attaching to /tm<0xFF>" being printed and the device then refuses to accept any input. Occasionally, we have seen a linux kernel error message "serial8250: too much work for irq16" simultaneously. After some debugging we found out that cause is a call to tcsetattr() by to_erl, immediately preceeded by some printf(). The UART in our device doesn't like hardware parameters to be changed while output is concurrently active. In fact, the GNU libc manual also mentions that it might be dangerous to change UART hardware parameters when a transmission is ongoing. The patch attached to this e-mail changes the behaviour of to_erl to use TCSADRAIN instead of TCSANOW when changing terminal parameters. This makes the serial driver wait for the output queues to be empty before applying the terminal parameter change.
2013-07-11erts: Add cflags, ldflags and config.h into executableLukas Larsson
2013-07-05run_erl: Redirect standard streams to /dev/nullJohannes Weißl
Like in epmd and erlexec. Otherwise "run_erl" fails on some platforms when called with the "-daemon" option, printing this error: "Cannot dup"
2013-06-12Update copyright yearsBjörn-Egil Dahlberg
2013-06-03Add rcore and rgdb to cerlLukas Larsson
These commands invoke gdb directly instead of going through emacs
2013-05-16Merge branch 'rickard/frmptr' into maintRickard Green
* rickard/frmptr: Add 'frmptr' emulator type Conflicts: erts/preloaded/ebin/erlang.beam
2013-04-21Add 'frmptr' emulator typeRickard Green
2013-04-04Changed handshake from to_erl to run_erl, on behalf of shell searchFredrik Gustafsson
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-22Remove the deprecated run_test start programLukas Larsson
It was replaced by ct_run in R14B.
2012-12-07Merge branch 'rickard/port-optimizations/OTP-10336' into ↵Rickard Green
rickard/r16/port-optimizations/OTP-10336 * rickard/port-optimizations/OTP-10336: Change annotate level for emacs-22 in cerl Update etp-commands Add documentation on communication in Erlang Add support for busy port message queue Add driver callback epilogue Implement true asynchronous signaling between processes and ports Add erl_drv_[send|output]_term Move busy port flag Use rwlock for driver list Optimize management of port tasks Improve configuration of process and port tables Remove R9 compatibility features Use ptab functionality also for ports Prepare for use of ptab functionality also for ports Atomic port state Generalize process table implementation Implement functionality for delaying thread progress from unmanaged threads Conflicts: erts/doc/src/erl_driver.xml erts/doc/src/erlang.xml erts/emulator/beam/beam_bif_load.c erts/emulator/beam/beam_bp.c erts/emulator/beam/beam_emu.c erts/emulator/beam/bif.c erts/emulator/beam/copy.c erts/emulator/beam/erl_alloc.c erts/emulator/beam/erl_alloc.types erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_bif_port.c erts/emulator/beam/erl_bif_trace.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_message.c erts/emulator/beam/erl_port_task.c erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_process_lock.c erts/emulator/beam/erl_trace.c erts/emulator/beam/export.h erts/emulator/beam/global.h erts/emulator/beam/io.c erts/emulator/sys/unix/sys.c erts/emulator/sys/vxworks/sys.c erts/emulator/test/port_SUITE.erl erts/etc/unix/cerl.src erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/src/prim_inet.erl lib/hipe/cerl/erl_bif_types.erl lib/kernel/doc/src/inet.xml lib/kernel/src/inet.erl
2012-12-07Change annotate level for emacs-22 in cerlRickard Green
2012-12-07Update etp-commandsRickard Green
2012-12-03Generalize process table implementationRickard Green
2012-09-28Make cerl -valgrind work with quoted spaces in command lineSverker Eriksson
2012-08-31Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: lib/diameter/autoconf/vxworks/sed.general xcomp/README.md
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-08-03Merge branch 'rickard/tab-unref-thr-prgr/OTP-10167'Rickard Green
* rickard/tab-unref-thr-prgr/OTP-10167: Use thread progress instead of scheduling misc aux work were possible Conflicts: erts/emulator/beam/erl_process.h
2012-08-02Use thread progress instead of scheduling misc aux work were possibleRickard Green
Functionality for scheduling operations at thread progress later has been introduced. Deallocation of ETS table structures were previously done by scheduling misc aux work. Deallocation of process structures (not released yet) was also implemented this way. Instead of using the misc aux work functionality these implementation now use the newly introduced functionality for scheduling operations at thread progress later. By using this new functionaliy we reduce the amount of memory allocation/deallocation operations needed.
2012-07-31Merge branch 'maint'Rickard Green
* maint: Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'
2012-07-31Merge branch 'rickard/cerl-emacs-gdb' into maintRickard Green
* rickard/cerl-emacs-gdb: Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'
2012-07-27Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'Rickard Green
2012-06-08Merge branch 'maint'Lukas Larsson
* maint: Update to work with space in include path Update to work with whitespace in exec path
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-05-02Merge branch 'maint'Björn-Egil Dahlberg
2012-04-27run_erl: Set controlling terminalBjörn-Egil Dahlberg
2012-04-27run_erl: Use openpty slave descriptorBjörn-Egil Dahlberg
2012-04-27Merge branch 'rickard/proc-sched/OTP-9892'Rickard Green
* rickard/proc-sched/OTP-9892: Teach etp-commands to understand new emulator internal data structures Optimize process state changes Optimize process table access Implement possibility to use ordinary mutexes as process locks Conflicts: erts/emulator/beam/erl_alloc.types
2012-04-27Teach etp-commands to understand new emulator internal data structuresRickard Green
2012-04-20run_erl: Retry interrupted system callsBjörn-Egil Dahlberg
2012-03-30Merge branch 'maint'Björn-Egil Dahlberg
2012-03-30Update copyright yearsBjörn-Egil Dahlberg