Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-05-11 | Merge branch 'lukas/trace-fix' | Rickard Green | |
* lukas/trace-fix: erts: Only allow remove from trace_status callback | |||
2016-05-11 | Merge branch 'rickard/ds-proc-exit/OTP-13123' | Rickard Green | |
* rickard/ds-proc-exit/OTP-13123: Add dirty_heap_access test case Add dirty_call_while_terminated test case Move dirty nif test cases into dirty_nif_SUITE Add better support for communication with a process executing dirty NIF Remove conditional dirty schedulers API | |||
2016-05-11 | erts: Only allow remove from trace_status callback | Lukas Larsson | |
Make it so that it is only possible to remove a tracer via returning remove from an erl_tracer. This limition is put in place in order to avoid a lot of lock checking and taking in various places, especially in regards to trace events happening on dirty schedulers. | |||
2016-05-11 | Add dirty_heap_access test case | Rickard Green | |
2016-05-11 | Add dirty_call_while_terminated test case | Rickard Green | |
2016-05-11 | Move dirty nif test cases into dirty_nif_SUITE | Rickard Green | |
2016-05-11 | Add better support for communication with a process executing dirty NIF | Rickard Green | |
- Termination of a process... - Modify trace flags of process... - Process info on process... - Register/unregister of name on process... - Set group leader on process... ... while it is executing a dirty NIF. | |||
2016-05-11 | Merge branch 'lukas/erts/max_heap_size/OTP-13174' | Lukas Larsson | |
* lukas/erts/max_heap_size/OTP-13174: erts: Fix non-smp max_heap_size assert | |||
2016-05-11 | erts: Fix non-smp max_heap_size assert | Lukas Larsson | |
2016-05-11 | Merge branch 'lukas/erts/max_heap_size/OTP-13175' | Lukas Larsson | |
* lukas/erts/max_heap_size/OTP-13174: erts: Add max_heap_size remote gc testcase | |||
2016-05-11 | erts: Add max_heap_size remote gc testcase | Lukas Larsson | |
2016-05-11 | Merge branch 'raimo/polish-gen_statem/OTP-13065' | Raimo Niskanen | |
* raimo/polish-gen_statem/OTP-13065: Reword 'dispatch' into 'branch depending' | |||
2016-05-11 | Reword 'dispatch' into 'branch depending' | Raimo Niskanen | |
2016-05-11 | Merge branch 'lukas/erts/max_heap_size/OTP-13174' | Lukas Larsson | |
* lukas/erts/max_heap_size/OTP-13174: erts: Fix max heap size exit when in hipe mode Update preloaded modules erts: Fix pre-bif yield current_function erts: Implement max_heap_size process flag | |||
2016-05-10 | Remove conditional dirty schedulers API | Rickard Green | |
2016-05-10 | erts: Fix max heap size exit when in hipe mode | Lukas Larsson | |
2016-05-10 | Merge branch 'anders/diameter/19.0-rc1/OTP-12913' | Anders Svensson | |
* anders/diameter/19.0-rc1/OTP-12913: vsn -> 1.12 Update appup for 19.0-rc1 Update documentation for CEA/DWA/DPA Result-Code counters | |||
2016-05-10 | Merge branch 'ingela/ssl/tls-1.2-available-hashsigns' | Ingela Anderton Andin | |
* ingela/ssl/tls-1.2-available-hashsigns: ssl: ordsets:intersection/2 did not give the expected result | |||
2016-05-10 | ssl: ordsets:intersection/2 did not give the expected result | Ingela Anderton Andin | |
Turns out we can not count on the "hashsigns" sent by the client and the supported "hashigns" sets to have required properties of ordsets. | |||
2016-05-10 | Merge branch 'lukas/stdlib/docs' | Lukas Larsson | |
* lukas/stdlib/docs: stdlib: Fix missing anchor in epp docs | |||
2016-05-10 | stdlib: Fix missing anchor in epp docs | Lukas Larsson | |
2016-05-10 | Update preloaded modules | Lukas Larsson | |
2016-05-10 | erts: Fix pre-bif yield current_function | Lukas Larsson | |
2016-05-10 | erts: Implement max_heap_size process flag | Lukas Larsson | |
The max_heap_size process flag can be used to limit the growth of a process heap by killing it before it becomes too large to handle. It is possible to set the maximum using the `erl +hmax` option, `system_flag(max_heap_size, ...)`, `spawn_opt(Fun, [{max_heap_size, ...}])` and `process_flag(max_heap_size, ...)`. It is possible to configure the behaviour of the process when the maximum heap size is reached. The process may be sent an untrappable exit signal with reason kill and/or send an error_logger message with details on the process state. A new trace event called gc_max_heap_size is also triggered for the garbage_collection trace flag when the heap grows larger than the configured size. If kill and error_logger are disabled, it is still possible to see that the maximum has been reached by doing garbage collection tracing on the process. The heap size is defined as the sum of the heap memory that the process is currently using. This includes all generational heaps, the stack, any messages that are considered to be part of the heap and any extra memory the garbage collector may need during collection. In the current implementation this means that when a process is set using on_heap message queue data mode, the messages that are in the internal message queue are counted towards this value. For off_heap, only matched messages count towards the size of the heap. For mixed, it depends on race conditions within the VM whether a message is part of the heap or not. Below is an example run of the new behaviour: Eshell V8.0 (abort with ^G) 1> f(P),P = spawn_opt(fun() -> receive ok -> ok end end, [{max_heap_size, 512}]). <0.60.0> 2> erlang:trace(P, true, [garbage_collection, procs]). 1 3> [P ! lists:duplicate(M,M) || M <- lists:seq(1,15)],ok. ok 4> =ERROR REPORT==== 26-Apr-2016::16:25:10 === Process: <0.60.0> Context: maximum heap size reached Max heap size: 512 Total heap size: 723 Kill: true Error Logger: true GC Info: [{old_heap_block_size,0}, {heap_block_size,609}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}] flush(). Shell got {trace,<0.60.0>,gc_start, [{old_heap_block_size,0}, {heap_block_size,233}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}]} Shell got {trace,<0.60.0>,gc_max_heap_size, [{old_heap_block_size,0}, {heap_block_size,609}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}]} Shell got {trace,<0.60.0>,exit,killed} | |||
2016-05-09 | Merge branch 'binarin/fix-build-tool-paths/PR-1023/OTP-13562' | Lukas Larsson | |
* binarin/fix-build-tool-paths/PR-1023/OTP-13562: Fix program paths used in build process Conflicts: erts/configure.in | |||
2016-05-09 | Merge branch 'ingela/inets/revert-inets_regexp/OTP-13561' | Ingela Anderton Andin | |
* ingela/inets/revert-inets_regexp/OTP-13561: Revert "inets: Put back inets_regexp module in OTP 18" | |||
2016-05-09 | Revert "inets: Put back inets_regexp module in OTP 18" | Ingela Anderton Andin | |
This reverts commit 7fbcbf4d1f2c81d44a5c6a4889c98f32cd4505ae. | |||
2016-05-09 | Merge branch 'sverker/system_info-erts_mmap/OTP-13560' | Sverker Eriksson | |
2016-05-09 | inets: Fix faulty merge commit | Sverker Eriksson | |
d5f8d55b37c9c63418b4fe8ad5a5aa197a9a4385 | |||
2016-05-09 | Merge branch 'anders/diameter/info/OTP-13508' | Anders Svensson | |
* anders/diameter/info/OTP-13508: Add diameter:peer_find/1 Add diameter:peer_info/1 | |||
2016-05-09 | Merge branch 'anders/diameter/overload/OTP-13330' | Anders Svensson | |
* anders/diameter/overload/OTP-13330: Suppress dialyzer warning Remove dead case clause Let throttling callback send a throttle message Acknowledge answers to notification pids when throttling Throttle properly with TLS Don't ask throttling callback to receive more unless needed Let a throttling callback answer a received message Let a throttling callback discard a received message Let throttling callback return a notification pid Make throttling callbacks on message reception Add diameter_tcp option throttle_cb | |||
2016-05-09 | Merge branch 'anders/diameter/test/OTP-13438' | Anders Svensson | |
* anders/diameter/test/OTP-13438: Don't assume list comprehension evaluation order | |||
2016-05-09 | vsn -> 1.12 | Anders Svensson | |
2016-05-09 | Update appup for 19.0-rc1 | Anders Svensson | |
2016-05-09 | Merge branch 'sverker/trace-send-receive-matchspec/OTP-13507' | Sverker Eriksson | |
2016-05-09 | Merge branch 'dgud/mnesia/ext-backend/PR-858/OTP-13058' | Dan Gudmundsson | |
* dgud/mnesia/ext-backend/PR-858/OTP-13058: mnesia_ext: Add basic backend extension tests mnesia_ext: reuse snmp field for ext updates mnesia_ext: Create table/data containers from mnesia monitor not temporary processes mnesia_ext: Implement ext copies index mnesia_ext: Load table ext mnesia_ext: Dumper and schema changes mnesia_ext: Refactor mnesia_schema.erl mnesia_ext: Ext support in fragmented tables mnesia_ext: Backup handling mnesia_ext: Create schema functionality mnesia_ext: Add ext copies and db_fold to low level api mnesia_ext: Refactor record_validation code mnesia_ext: Add create_external and increase protocol version to monitor mnesia_ext: Add ext copies to records mnesia_ext: Add supervisor and behaviour modules | |||
2016-05-09 | mnesia_ext: Add basic backend extension tests | Dan Gudmundsson | |
2016-05-09 | mnesia_ext: reuse snmp field for ext updates | Dan Gudmundsson | |
Minimal impact when talking to older nodes. | |||
2016-05-09 | mnesia_ext: Create table/data containers from mnesia monitor not temporary ↵ | Dan Gudmundsson | |
processes Tables or data containers should be owned and monitored by mnesia_monitor and should thus be created by that process. Always create_table before loading it We need to create tables for ram_copies at least before loading them as they are intermittent. It is also needed to get mnesia monitor as the parent and supervisor of the data storage. | |||
2016-05-09 | mnesia_ext: Implement ext copies index | Ulf Wiger | |
Make ram_copies index always use ordered_set And use index type as prefered type not a implementation requirement, the standard implmentation will currently ignore the prefered type. | |||
2016-05-09 | mnesia_ext: Load table ext | Ulf Wiger | |
2016-05-09 | mnesia_ext: Dumper and schema changes | Ulf Wiger | |
2016-05-09 | mnesia_ext: Refactor mnesia_schema.erl | Ulf Wiger | |
2016-05-09 | mnesia_ext: Ext support in fragmented tables | Ulf Wiger | |
2016-05-09 | mnesia_ext: Backup handling | Ulf Wiger | |
2016-05-09 | mnesia_ext: Create schema functionality | Ulf Wiger | |
Add ext to table/system information Add add_backend_type | |||
2016-05-09 | mnesia_ext: Add ext copies and db_fold to low level api | Ulf Wiger | |
2016-05-09 | mnesia_ext: Refactor record_validation code | Ulf Wiger | |
Should maybe be moved to mnesia.erl and inlined?? Or is it used elsewhere? | |||
2016-05-09 | mnesia_ext: Add create_external and increase protocol version to monitor | Ulf Wiger | |
new protocol version to handle new schema fields | |||
2016-05-09 | mnesia_ext: Add ext copies to records | Ulf Wiger | |