aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2015-06-30Merge branch 'sverk/ets-unfix-delete-race/OTP-12870' into maintSverker Eriksson
* sverk/ets-unfix-delete-race/OTP-12870: erts: Fix ETS race between object deleter and table unfixer
2015-06-30Merge branch 'sverk/map-merge-trap' into maintSverker Eriksson
* sverk/map-merge-trap: erts: Expand test map_SUITE:t_bif_merge_and_check
2015-06-30Prepare releaseErlang/OTP
2015-06-30Merge branch 'sverk/poll-lost-wakeup/OTP-12859' into maint-18Erlang/OTP
* sverk/poll-lost-wakeup/OTP-12859: erts: Fix race in poller thread wake up
2015-06-26erts: Fix ETS race between object deleter and table unfixerSverker Eriksson
causing the delete marked object to be left in the table after safe_fixtable(_,false) has returned. This is not super serious as the delete marked object is quite benign and will be deleted at the next unfix operation.
2015-06-23Prepare releaseErlang/OTP
2015-06-22erts: Fix race in poller thread wake upSverker Eriksson
2015-06-22Fix node/dist refc countRickard Green
2015-06-22erts: Expand test map_SUITE:t_bif_merge_and_checkSverker Eriksson
with merge of randomized maps.
2015-06-22Merge branch 'vinoski/driver-doc-fix/OTP-12855'Rickard Green
* vinoski/driver-doc-fix/OTP-12855: Fix documentation of ERL_DRV_ERROR_ERRNO
2015-06-22Fix documentation of ERL_DRV_ERROR_ERRNOSteve Vinoski
2015-06-22Merge branch 'bruce/change-license'Bruce Yinhe
OTP-12845 * bruce/change-license: fix errors caused by changed line numbers Change license text to APLv2
2015-06-22Merge branch 'sverk/nosmp-init-timer-wheel'Sverker Eriksson
* sverk/nosmp-init-timer-wheel: erts: Fix timer wheel initialization bug for non smp
2015-06-20erts: Fix erl_poll on darwinBjörn-Egil Dahlberg
2015-06-18erts: Fix timer wheel initialization bug for non smpSverker Eriksson
Init esdp->timer_wheel as NULL to please setup_aux_work_timer().
2015-06-18Minor doc fixesRickard Green
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-17Merge branch 'egil/fix-erts_debug-disasm-select_tuple_arity'Björn-Egil Dahlberg
* egil/fix-erts_debug-disasm-select_tuple_arity: erts: Fix erts_debug:df/1 in debug
2015-06-17Merge branch 'sverk/poll-grow'Sverker Eriksson
* sverk/poll-grow: erts: Refactor growth of fd tables
2015-06-17erts: Refactor growth of fd tablesSverker Eriksson
to have one common implementation for both _kp and _nkp.
2015-06-17Merge branch 'egil/cuddle-tests'Björn-Egil Dahlberg
* egil/cuddle-tests: kernel: Remove ?line macros in inet_SUITE:t_gethostbyaddr/1 erts: Tweak statistics_SUITE:scheduler_wall_time/1
2015-06-17Merge branch 'egil/refactor-close'Björn-Egil Dahlberg
* egil/refactor-close: erts: Add brackets to statement
2015-06-17erts: Add brackets to statementBjörn-Egil Dahlberg
2015-06-17Merge branch 'egil/change-event-default/OTP-12849'Björn-Egil Dahlberg
* egil/change-event-default/OTP-12849: erts: Do not preallocate too large event pool
2015-06-17Merge branch 'egil/license-compliance/OTP-12848'Björn-Egil Dahlberg
* egil/license-compliance/OTP-12848: Revert "lcnt: Let runq locks reflect actual call location" Revert "Demote rare debug slogan of message discarding to debug build" Revert "Add missing error string to syslog logging in epmd" Revert "Add run queue index to process dump info" Revert "Add thread index to allocator enomem dump slogan" Revert "Add number of entries to mnesia copy debug message"
2015-06-17Merge branch 'rickard/io-bytes/OTP-12842'Rickard Green
* rickard/io-bytes/OTP-12842: Save IO bytes in scheduler specific data
2015-06-17Merge branch 'egil/lcnt-refactor/OTP-12846'Björn-Egil Dahlberg
* egil/lcnt-refactor/OTP-12846: erts: Refactor LCNT
2015-06-17erts: Fix erts_debug:df/1 in debugBjörn-Egil Dahlberg
Sentinels in select_tuple_arity instructions are not proper tuple arities and thus cannot be checked in debug. Print them as small integers instead.
2015-06-17Merge branch 'nybek/fix_so_linger_zero__simple'Raimo Niskanen
* nybek/fix_so_linger_zero__simple: Update prim_inet.beam Fix socket option {linger, {true, 0}} to abort TCP connections Apply 'show_econnreset' socket option to send errors as well Add 'show_econnreset' TCP socket option
2015-06-17Save IO bytes in scheduler specific dataRickard Green
2015-06-16Revert "lcnt: Let runq locks reflect actual call location"Björn-Egil Dahlberg
This reverts commit efefd4bfda3156c6c19a61d7aa3d2f50a026d0e5. Conflicts: erts/emulator/beam/erl_process.h
2015-06-16Revert "Demote rare debug slogan of message discarding to debug build"Björn-Egil Dahlberg
This reverts commit 38bd20f4f58e8025bd3ffc718cb7e40a4bde6396.
2015-06-16Revert "Add missing error string to syslog logging in epmd"Björn-Egil Dahlberg
This reverts commit e2c11e89563f0c11794c91193b29bce00ca9c740.
2015-06-16Revert "Add run queue index to process dump info"Björn-Egil Dahlberg
This reverts commit 345af4a0c8d68b9369c3556fa6d911854c123d3f.
2015-06-16Revert "Add thread index to allocator enomem dump slogan"Björn-Egil Dahlberg
This reverts commit 5d5f9c1857029d7e8e1de141e29d20dd3de929be.
2015-06-16erts: Do not preallocate too large event poolBjörn-Egil Dahlberg
A pool size of 4000 is too excessive for the common case. Change ERTS_TS_EV_ALLOC_DEFAULT_POOL_SIZE to 2048 Change ERTS_TS_EV_ALLOC_POOL_SIZE to 32
2015-06-16erts: Refactor LCNTBjörn-Egil Dahlberg
2015-06-16Merge branch 'rickard/glb-inline'Rickard Green
* rickard/glb-inline: Unbreak global inlining
2015-06-16Merge branch 'tomas-abrahamsson/patch-1'Henrik Nord
* tomas-abrahamsson/patch-1: Add forgotten argument to example in erl_nif doc
2015-06-15Unbreak global inliningRickard Green
2015-06-15Merge branch 'rickard/+zebwt/OTP-12830'Rickard Green
* rickard/+zebwt/OTP-12830: ETS busy wait option
2015-06-15ETS busy wait optionRickard Green
Conflicts: erts/emulator/beam/erl_init.c erts/etc/common/erlexec.c
2015-06-15Merge branch 'hamt_bin2term'Sverker Eriksson
* hamt_bin2term: erts: Add erts_factory_trim_and_close erts: Optimize driver_deliver_term erts: Remove hashmap probabilistic heap overestimation Conflicts: erts/emulator/beam/beam_load.c
2015-06-15erts: Add erts_factory_trim_and_closeSverker Eriksson
2015-06-15erts: Optimize driver_deliver_termSverker Eriksson
Try write directly to process heap (as before) if the term is guaranteed not to contain any big maps that may break the initial size estimation.
2015-06-15Merge branch 'rc/robustify-module_info/OTP-12820'Björn-Egil Dahlberg
* rc/robustify-module_info/OTP-12820: erts: Add test for module_info on purged modules erts: Remove ?line macros from module_info_SUITE Fix segfault in module_info for deleted modules
2015-06-15erts: Remove hashmap probabilistic heap overestimationSverker Eriksson
by adding a dynamic heap factory. "binary_to_term" is now a hybrid solution with both a call to decoded_size() to calculate needed heap space AND possible dynamic allocation of more heap space if needed for big maps. The heap size returned from decoded_size() is guaranteed to be sufficient for all term heap data except for hashmap nodes. All hashmap nodes are created at the end of dec_term() by invoking the heap factory interface that may allocate more heap space on process heap or in fragments. With this commit it is no longer guaranteed that a message is confined to only one heap fragment.
2015-06-15Merge branch 'sverk/map-merge-trap'Sverker Eriksson
* sverk/map-merge-trap: erts: Optimize maps:merge erts: Yield in maps:merge erts: Refactor arg swapping for maps:merge erts: Add save/restore for PSTACK erts: Fix magic binary alignment on 32-bit erts: Add maps to send_term_SUITE erts: Fix calculation of reclaimed data during full gc erts: Fix warning about const pointer to make_boxed and make_list erts: Fix typo in etp-carrier-blocks
2015-06-15erts: Optimize maps:mergeSverker Eriksson
to be better at reusing entire hashmap sub-trees. Sub-tree reuse is detected in three cases: 1. The sub-tree top node does not exist at all in the other map. Already implemented before this commit. 2. The exact same sub-tree exist in both maps. Must calculate nr of keys in tree to get total size right. 3. We detect that a sub-tree only contains stuff from one of the maps. There is still one case we don't detect. If A and B leafs have equal keys we could also compare the values. If values are equal, further node reuse could propagate up toward the root (by 'mix'==0). The downside would be potentially expensive value comparisons.
2015-06-15erts: Yield in maps:mergeSverker Eriksson