aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2012-12-14erts: Do not cache segments that are misalignedBjörn-Egil Dahlberg
* SBC may realloc carriers to misaligned addresses which is perfectly fine. However, those segments may not be cached because MBC allocations might find them and MBC's *needs* correct alignment.
2012-12-14erts: Add mseg cache for large sbc segmentsBjörn-Egil Dahlberg
* Not a power of two (unpowered) segements
2012-12-14erts: Reintroduce mseg options amcbf and rmcbfBjörn-Egil Dahlberg
Used with new sbc cache
2012-12-14erts: Optimize erl_alloc_util.c by substitute MBC_BLK_SZSverker Eriksson
with either MBC_ABLK_SZ or MBC_FBLK_SZ in all cases when we already know what kind of block it is.
2012-12-14erts: Fix bug when allocating size near sbc_thresholdSverker Eriksson
A block larger than sbc_threshold can be allocated in MBC if the subsequent "residue block" is smaller than min_block_size. Solved by lowering sbc_threshold to ("hard limit" - min_block_size).
2012-12-14erts: Make gc sizes fit into MB Carrier blocksBjörn-Egil Dahlberg
* Account for block header size in gc-sizes * Also slow down growth to 20% instead of 25% when size threshold is reached
2012-12-14erts: Force sbmbc to be disabled in a crude waySverker Eriksson
2012-12-14erts: Fix new header scheme for win64Sverker Eriksson
2012-12-14erts: Fix mseg cache. Malplaced NULL pointerBjörn-Egil Dahlberg
2012-12-14erts: Remove unused mseg options amcbf and rmcbfBjörn-Egil Dahlberg
2012-12-14erts: Use aligned bits as constant in mseg_allocBjörn-Egil Dahlberg
HAVE_SUPER_ALIGNED_MB_CARRIERS is always true with mmap and thus aligned bits is a constant and so is "page" size for mmap. Conflicts: erts/emulator/sys/common/erl_mseg.h
2012-11-21erts: Don't let zero be considered a power of twoBjörn-Egil Dahlberg
2012-11-21erts: Use MSEG_ALIGN_BITS and MSEG_ALIGNED_SIZEBjörn-Egil Dahlberg
* Don't redfine ALIGN_BITS or ALIGNED_SIZE, the global defined MSEG_* constants are just as good.
2012-11-21erts: Make carrier header sizes compile time constantsSverker Eriksson
No allocator strategy is using customized carrier headers anyway.
2012-11-19erts: Cleanup minor things in alloc_utilSverker Eriksson
2012-11-16erts: Fix compile warnings in alloc_utilSverker Eriksson
2012-11-15erts: Enable new header scheme without super alignment on 64-bitSverker Eriksson
2012-11-15erts: Fix alloc_SUITE:coalesce for new header schemeSverker Eriksson
2012-11-15erts: Ensure MBC limits due to super alignmentSverker Eriksson
2012-11-15erts: Add carrier pointer to header of free blockSverker Eriksson
2012-11-15erts: Refactor renaming a couple of macros in alloc_utilSverker Eriksson
To get a consistent naming scheme where FBLK = Free block ABLK = Allocated block
2012-11-15erts: Refactor removing dummy footer in carrier headerSverker Eriksson
2012-11-15erts: Save one word per block for thread preferred allocatorsSverker Eriksson
by making use of the new block header scheme to find the carrier header and thereby the allocator.
2012-11-15erts: Refactor erl_alloc_util.cSverker Eriksson
Make use of type FreeBlkFtr_t Rename GET_MB_CARRIER into BLK2MBC (like BLK2SBC) Remove some unused macros
2012-11-15erts: Change single carrier block header flagsSverker Eriksson
to allow realloc to determine block size (in MBC or SBC) without having to read the footer of the previous block that might be written to by concurrent thread.
2012-11-15erts: Make alloc_SUITE:bucket_mask handle larger carriersSverker Eriksson
2012-11-15erts: Use new mseg flag argument for carrier sizingSverker Eriksson
2012-11-15erts: Move carrier alignment define to erl_msg.hSverker Eriksson
2012-11-15erts: Add carrier offset to internal allocation headersSverker Eriksson
2012-11-13erts: Fix compiler warnings for halfword vmSverker Eriksson
2012-11-13erts: New mseg allocator cacheBjörn-Egil Dahlberg
* utilize the power of two
2012-11-13erts: Teach mseg alloc the value of halfword beamBjörn-Egil Dahlberg
2012-11-13erts: Let mseg allocate larger alignmentsBjörn-Egil Dahlberg
2012-10-31erts: Remove faked MSEG_ALLOCBjörn-Egil Dahlberg
* Not used except in valgrind but there mseg is disabled completely via Meamin.
2012-10-31Merge branch 'bjorn/ct/stability/OTP-10480'Björn Gustavsson
* bjorn/ct/stability/OTP-10480: Simplify managment of test_server_loc Keep the information about the current test case consistent test_server: Eliminate the Loc argument for do_end_tc_call() Refactor the handling of the make_priv_dir message test_server: Refactor run_test_case_msgloop()
2012-10-31Fix writing of configuration information to ct_master_log.htmlBjörn Gustavsson
Because of a forgotten "Fd", configuration information intended for ct_master_log.html ended up being written to standard output.
2012-10-31Merge branch 'raimo/IPV6_V6ONLY/OTP-8928'Raimo Niskanen
* raimo/IPV6_V6ONLY/OTP-8928: kernel: Document socket option ipv6_v6only kernel: Add test cases for socket option ipv6_v6only erts,kernel: Implement socket option ipv6_v6only in erlang code erts: Implement socket option IPV6_V6ONLY erts: Add configure test for IPV6_V6ONLY
2012-10-31kernel: Document socket option ipv6_v6onlyRaimo Niskanen
2012-10-31kernel: Add test cases for socket option ipv6_v6onlyRaimo Niskanen
2012-10-31erts,kernel: Implement socket option ipv6_v6only in erlang codeRaimo Niskanen
2012-10-31erts: Implement socket option IPV6_V6ONLYRaimo Niskanen
2012-10-30Merge branch 'dgud/stdlib/proc_lib_hangs/OTP-9803'Dan Gudmundsson
* dgud/stdlib/proc_lib_hangs/OTP-9803: stdlib: Monitor proc_lib:start'ed processes to avoid waiting forever
2012-10-30stdlib: Monitor proc_lib:start'ed processes to avoid waiting foreverDan Gudmundsson
Monitor the spawned process in proc_lib:start/[3|4|5], so that a proper error is returned, if the spawned process crashes before proclib:init_ack/1 is sent. Previously the calling process would hang forever or until specified timeout. Start link catches these errors but start did not. start now behaves as start_link if process traps exit.
2012-10-30Merge branch 'dgud/test-fixes'Dan Gudmundsson
* dgud/test-fixes: test: fix timetraps kernel: Extend test timeout for cover tests stdlib: Fix test timeouts in cover runs runtime_tools: Fix failing testcase
2012-10-30test: fix timetrapsDan Gudmundsson
Use ct:timetrap/1 instead of test_server:timetrap/1 for really long test_cases. Commontest sets up a default timetrap on 30 min, which is not cancelled if testserver:timetrap called.
2012-10-30kernel: Extend test timeout for cover testsDan Gudmundsson
2012-10-30stdlib: Fix test timeouts in cover runsDan Gudmundsson
2012-10-30runtime_tools: Fix failing testcaseDan Gudmundsson
2012-10-26Simplify managment of test_server_locBjörn Gustavsson
Before line numbers were included in exceptions (in R15), there were parse transforms and macros that would keep the test_server_loc process dictionary variable updated; therefore there is a mod_loc/1 function that will normalize the representation of locations. Simplify the code as following: * 'test_server_loc' should always contain a list with one or more tuples. ({M,F} or {M,F,Line}) * At the beginning of each test case, set 'test_server_loc' to [{Module,Func}] of the the currently executing test case. * Stop updating 'test_server_loc', except when an exception occurs. (It used to be updated when running 'init_per_testcase' and so on.) * Remove the mod_loc/1 function.
2012-10-26Keep the information about the current test case consistentBjörn Gustavsson
Three pieces of information could be out of sync in testcase supervisor process at the time when a timetrap occurred: * test_server_loc (process dictionary) - may indicate that a framework function is executing * test_server_init_or_end_conf (process dictionary) - indicates whether init_per_testcase or end_per_testcase is executing * The current configuration (#st.config) - set using a synchronous call There could be in a crash in spawn_fw_call/7 because the current configuration was not defined when it was expected to. To avoid the problem, introduce set_tc_state/2 (and a corresponding message) to allow setting both an indication what the testcase is executing (e.g. init_per_testcase, framework call, and so on), and the current configuration. Use only that information to handle a timetrap timeout (and aborted testcase and the other reasons for the testcase process to terminate). Completely remove test_server_init_or_end_conf.