aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys
AgeCommit message (Collapse)Author
2011-11-13Optimize memory allocationRickard Green
A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: * Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. * Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. * The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system.
2011-11-08Merge branch 'bjorn/create-less-garbage'Björn Gustavsson
* bjorn/create-less-garbage: Optimize filename:basename/1 to produce less garbage Optimize filename:extension/1 to produce less garbage sys.c for Unix: Undo caching of utsname in os_flavor() Pre-build the tuples returned by os:type/0 and os:version/0
2011-11-07erts: "initialized" is only used with CHLDWTHRBjörn-Egil Dahlberg
2011-10-14Merge branch 'rickard/atomics-api/OTP-9014' and OTP_R14B04Rickard Green
Conflicts: erts/aclocal.m4 erts/emulator/beam/erl_db.c erts/emulator/sys/win32/sys.c erts/include/internal/ethread_header_config.h.in
2011-10-11Merge branch 'bjorn/some-configure-clean-ups'Björn Gustavsson
* bjorn/some-configure-clean-ups: erts/configure.in: Remove test for reversed setvbuf() arguments erts/configure.in: Remove broken support for System V erts/configure.in: Don't check for the presence of mach-o/dyld.h erts/configure.in: Remove useless --disable-fixalloc option
2011-10-09sys.c for Unix: Undo caching of utsname in os_flavor()Björn Gustavsson
Since his function will be called only once, caching is a waste of memory.
2011-09-20Merge branch 'dev' into majorHenrik Nord
Conflicts: erts/aclocal.m4 erts/include/internal/ethread_header_config.h.in
2011-09-20Merge branch 'cr/cppcheck' into devHenrik Nord
* cr/cppcheck: Changes inspired by running cppcheck(1) OTP-9557
2011-09-20Merge branch 'ta/docs-fixes' into devHenrik Nord
* ta/docs-fixes: Fix misspelling of intermediate Fix typos in erts/preloaded/src Fix more misspellings of compatibility Fix misspelling of kept Fix misspelling of compatibility in ssl_basic_SUITE Fix misspelling of compatibility Fix misspelling of accommodate Fix misspelling of exceed Fix misspelling of accidentally Fix misspelling of erroneous in xmerl_xsd Fix misspelling of erroneous Fix misspelling of successful Fix typos in instrument(3) Fix typos in dbg(3) dialyzer: fix a small typo in list_to_bitstring test Fix typos in cover.erl Fix typos (variable name) in erl_nif(3) Fix typos in mod_esi(3) Fix trivial typos in erlang(3) OTP-9555
2011-09-19Merge branch 'dev' into majorBjörn-Egil Dahlberg
* dev: gs: Update to modern type guards in examples os_mon: Check results from fgets in cpu_sup erts: Remove compiler warning in sys.c
2011-09-16erts: Remove compiler warning in sys.cBjörn-Egil Dahlberg
2011-09-16Merge branch 'dev' into majorBjörn-Egil Dahlberg
* dev: Move init of smp rw mutex from init to sys_args to make sure that it is initialized before the first erts_sys_getenv call Move erts_sys_env_init() to erts_sys_pre_init() Remove _DEBUG from start_erl.c Spelling correction in erlsrv doc Convert windows start_erl to take rootdir on command line Add command start_disabled to erlsrv Add global lock for erlsrv to avoid races Change start order so that service_event gets initialized before it's used Conflicts: erts/emulator/sys/win32/sys.c
2011-09-15Fix misspelling of successfulTuncer Ayaz
2011-09-08erts/configure.in: Remove useless --disable-fixalloc optionBjörn Gustavsson
./configure --disable-fixalloc does not do anytning any longer, since there is no longer any "fix allocators" (in the original sense).
2011-09-06Changes inspired by running cppcheck(1)Christian von Roques
2011-07-08Move init of smp rw mutex from init to sys_args to make sure that it is ↵Lukas Larsson
initialized before the first erts_sys_getenv call
2011-06-15Move erts_sys_env_init() to erts_sys_pre_init()Patrik Nyblom
2011-06-14Use new atomic API in runtime systemRickard Green
All uses of the old deprecated atomic API in the runtime system have been replaced with the use of the new atomic API. In a lot of places this change imply a relaxation of memory barriers used.
2011-05-20Update copyright yearsBjörn-Egil Dahlberg
2011-05-13Merge branch 'rickard/barriers/OTP-9281' into devRickard Green
* rickard/barriers/OTP-9281: Silence warnings Fix build with hipe on amd64 Reduce number of atomic ops Use 32-bit atomic for port snapshot Remove pointless erts_ports_alive variable Ensure quick break Ensure that all rehashing information are seen when done Ensure that stack updates are seen when stack is released Add needed barriers for write_concurrency tables Homogenize memory barriers on atomics
2011-05-13Silence warningsRickard Green
2011-05-13Ensure quick breakRickard Green
Make sure that we don't have to wait in poll before break handling is done.
2011-05-09Expand the use of high memory allocation in halfword emulatorSverker Eriksson
Also add 'low' field in system_info(allocator) SHORT_LIVED is still in low memory
2011-04-27Merge branch 'sverker/erts_printf-halfword' into devSverker Eriksson
* sverker/erts_printf-halfword: erts_printf %be to print integers of size Eterm Fix use of type BeamInstr in hipe_debug.c Conflicts: erts/emulator/hipe/hipe_debug.c
2011-03-21Teach win32/sys.c (fd-driver) not to leak readers causing init:restart to failPatrik Nyblom
2011-03-16erts_printf %be to print integers of size EtermSverker Eriksson
Existing %bp to print pointer size integers does not work in halfword emulator to print Eterm size integers.
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-10Merge branch 'sverker/valgrind-new-suppressions' into devSverker Eriksson
* sverker/valgrind-new-suppressions: Make halfword emulator with valgrind target allocate low memory Add erts_alloc_permanent_cache_aligned to supress valgrind
2011-03-09Make halfword emulator with valgrind target allocate low memorySverker Eriksson
Limit ERTS_MSEG_FAKE_SEGMENTS (that is otherwise set for valgrind target) to not apply to low memory needed by halfword emulator. This will reduce the fault detection capability of valgrind for low memory. Also correct a bug in the initial mmap and make sure the returned memory region does not reach into high memory.
2011-03-08The emulator could get into a state where it didn't check for I/O.Rickard Green
2011-03-02Remove race in main thread stealing due to reading and writing to pipe from ↵Patrik Nyblom
same thread
2011-03-02Make MacOS (NS) wx use the main threadPatrik Nyblom
2011-02-25Merge branch 'rickard/poll-wake/OTP-9019' into devRickard Green
* rickard/poll-wake/OTP-9019: Simplify erts_poll_wait() wakeup logic
2011-02-25Simplify erts_poll_wait() wakeup logicRickard Green
2011-02-18HALFWORD ETS Fix copyright year in some source filesSverker Eriksson
2011-02-03HALFWORD Make system_info mseg_alloc report both low/high memSverker Eriksson
2011-02-03HALFWORD Make more allocators use high mem (binary, fixed and driver)Sverker Eriksson
2011-02-03HALFWORD ETS 32-bit arch fixes and other cleanupsSverker Eriksson
2011-02-03HALFWORD first stab at high mem allocSverker Eriksson
2011-02-03HALFWORD ETS relative termsSverker Eriksson
In halfword emulator, make ETS use a variant of the internal term format that uses relative offsets instead of absolute pointers. This will allow storage in high memory (>4G). Preprocessor macros (like list_val_rel(TERM,BASE)) are used to make normal (fullword) emulator almost completely unchanged while still reusing most of the code.
2010-12-20Remove timer-thread implementationBjörn-Egil Dahlberg
2010-12-20Refactor timer interfaceBjörn-Egil Dahlberg
2010-12-15Use new atomic types in emulatorRickard Green
2010-11-30Teach spawn_executable about UnicodePatrik Nyblom
Also corrected compressed files on Windows
2010-11-30Convert filenames read on MacOSX to canonical formPatrik Nyblom
2010-11-30Make Unicode filenames work on WindowsPatrik Nyblom
2010-11-29Teach filename to accept raw data and add filename enc option to emuPatrik Nyblom
2010-11-29Add bifs to translate between erlang filenames and native encodingPatrik Nyblom
2010-11-26Merge branch 'sverker/unsafe_CancelIoEx/OTP-8937' into devSverker Eriksson
* sverker/unsafe_CancelIoEx/OTP-8937: Remove use of unreliable CancelIoEx on Windows.
2010-11-24Remove use of unreliable CancelIoEx on Windows.Sverker Eriksson
CancelIoEx has been seen to cause problems with some drivers. Also improve fallback solution to reuse existing handle-closer-threads.