Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-12-15 | erts: Create forker process for spawn driver | Lukas Larsson | |
Instead of forking from the beam process, we create a separate process in which all forks are done. This has several advantages: 1) performance: * don't have to close all fd's in the world * fork only has to copy stuff from a small process * work is done in a completely seperate process * a 3x performance increase has been measured, can be made even greater (10x) if we cache the environment in child setup 2) stability * the exec is done in another process than beam, which means that if the file that we exec to is on an nfs that is not available right now we will not block a scheduler until the nfs returns. 3) simplicity * don't have to deal with SIGCHLD in the erts Unfortunately, this solution also implies some badness. 1) There will always be a seperate process running together with beam on unix. This could be confusing and undesirable. 2) We have to transfer the entire environment to child_setup for each command. OTP-13088 | |||
2015-12-15 | erts: Add support for asynchronous open_port | Lukas Larsson | |
OTP-13086 | |||
2015-06-18 | Change license text to APLv2 | Bruce Yinhe | |
2015-06-17 | Save IO bytes in scheduler specific data | Rickard Green | |
2015-05-08 | Optimized timer implementation | Rickard Green | |
2013-05-06 | Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduled | Rickard Green | |
2013-04-29 | Do not treat port_set_data/port_get_data as signals | Rickard Green | |
2013-02-25 | Set default max ports on win32 to 8192 | Lukas Larsson | |
2013-02-22 | Update copyright years | Björn-Egil Dahlberg | |
2013-02-13 | Implement erl_drv_consume_timeslice() | Rickard Green | |
2013-02-13 | Fix driver port accesses | Rickard Green | |
2013-01-23 | Bump reductions also for immediate driver calls | Rickard Green | |
2012-12-17 | Fix driver_monitor_process() ASSERT | Rickard Green | |
2012-12-07 | Merge 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-07 | Add support for busy port message queue | Rickard Green | |
2012-12-07 | Add driver callback epilogue | Rickard Green | |
2012-12-07 | Implement true asynchronous signaling between processes and ports | Rickard Green | |
2012-12-03 | Add erl_drv_[send|output]_term | Rickard Green | |
2012-12-03 | Move busy port flag | Rickard Green | |
2012-12-03 | Optimize management of port tasks | Rickard Green | |
2012-12-03 | Improve configuration of process and port tables | Rickard Green | |
2012-12-03 | Use ptab functionality also for ports | Rickard Green | |
2012-12-03 | Prepare for use of ptab functionality also for ports | Rickard Green | |