Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-03-11 | Update copyright years | Björn-Egil Dahlberg | |
2011-02-17 | Rename Suite Callback to Common Test Hook | Lukas Larsson | |
2011-02-17 | Fix formatting for emulator | Lukas Larsson | |
2011-02-17 | Add init_per_suite and end_per_suite | Lukas Larsson | |
2011-02-17 | Add ts_install_scb to suite/0 | Lukas Larsson | |
2011-02-17 | Update emulator tests to conform with common_test standard | Lukas Larsson | |
2011-02-17 | Update tests to work with ts -> ct migrations script. | Lukas Larsson | |
2010-12-15 | Remove ancient distribution message DOP_NODE_LINK from all code | Patrik Nyblom | |
2010-12-14 | Teach VM not to dump core on bad dist message structure | Patrik Nyblom | |
2010-11-02 | Add flag-based setting for the distribution buffer busy limit | Scott Lystig Fritchie | |
Id: OTP-8912 This patch creates a new family of flags with the "+z" prefix. It further creates a new configuration option called "dbbl" (which is the first letter of the name dist_buf_busy_limit). Example usage of this flag would be "+zdbbl 1048576". This patch creates an adjustable buffer limit for the amount of data that may be buffered by the erlang distribution code (in dist.c specifically). Before this patch, this hard-coded constant was used: #define ERTS_DE_BUSY_LIMIT (128*1024) When large binaries are transmitted between nodes (or simply a lot of medium-sized binaries), it is very easy to hit the old 128KB limit. Processes that use the erlang:system_monitor() BIF to monitor system events can be spammed by {monitor, busy_dist_port, ...} message tuples at rates of tens to even hundreds of messages/second. A larger buffer limit will allow processes to buffer more outgoing messages over the distribution. When the buffer limit has been reached, sending processes will be suspended until the buffer size has shrunk. The buffer limit is per distribution channel. A higher limit will give lower latency and higher throughput at the expense of higher memory usage. A variation of this patch has been in commercial production use in at least two companies that the author is aware of. Larger buffer values can reduce the number of {monitor, busy_dist_port, ...} system messages drastically, lower overall messaging latencies, and prevent false timeouts and 'nodedown' messages in extremely busy Mnesia systems. Test suite: there are two tests: a. In erlexec_SUITE.erl to test basic set & get of the value b. In distribution_SUITE.erl, to verify that setting +zdbbl very low will actually change behavior. | |||
2010-05-12 | Merge branch 'bg/opt-receive' into dev | Erlang/OTP | |
* bg/opt-receive: Test that gen_server:call/2,3 are fast even with a huge message queue erts: Add tests for the receive optimization Update primary bootstrap erts: Implement recv_mark/1 and recv_set/1 for real compiler tests: Cover the error handling code in beam_receive compiler test: Test optimization of receive statements Optimize selective receives in the presence of a large message queue Introduce the new recv_mark/1 and recv_mark/1 instructions Compile tests that communicate with R12 nodes with the r12 option Move p_run/2 to test_lib gen: Inline wait_resp_mon/2 to help the compiler optimize OTP-8623 bg/opt-receive reveive statements that can only read out a newly created reference are now specially optimized so that it will execute in constant time regardless of the number of messages in the receive queue for the process. That optimization will benefit calls to gen_server:call(). (See gen:do_call/4 for an example of a receive statement that will be optimized.) | |||
2010-05-11 | Compile tests that communicate with R12 nodes with the r12 option | Björn Gustavsson | |
R12 nodes cannot load code that use the optimized receive that we are about to implement. | |||
2009-11-20 | The R13B03 release.OTP_R13B03 | Erlang/OTP | |