Age | Commit message (Collapse) | Author |
|
* rickard/sched-busy-wait/OTP-10044:
Add switch controlling scheduler busy wait
Conflicts:
erts/emulator/beam/erl_process.c
erts/emulator/beam/erl_process.h
|
|
rickard/sched-wakeup-other-r15b01/OTP-10033
Conflicts:
erts/emulator/beam/erl_process.c
erts/vsn.mk
|
|
|
|
|
|
|
|
* dc/dch-fix-win32-escript:
add escript win32 alternative invocation (thanks Pierre Rouleau)
OTP-9997
|
|
|
|
* raimo/parallel-make/OTP-9857:
Work around windows .pdb parallel make collision
erts: Fix recently broken documentation build
|
|
|
|
* raimo/parallel-make/OTP-9857:
hipe: Fix rtl dependencies
erts: Simplify toplevel makefile due to better dependencies
erts: Fix make omissions for void emulators
erts: Fix dependencies between targets generate and depend
erts: Cleanup dependencies for target generate
erts,tools: Fix parallel make for erts/lib_src
erts: Fix parallel make for emulator zlib
Conflicts:
erts/emulator/Makefile.in
|
|
* Make generate and depend.mk automatically.
* Do not make depend.mk for targets clean and generate.
* Remove old replaced CREATE_DIRS cruft.
* Fiercer remove by target clean.
* Move depend.mk to Target/Type/Flavor directory.
|
|
Use a make timestamp file to condense dependencies to some
part(s) of erts/lib_src build results.
|
|
|
|
|
|
* Added a goto fail in worker loop if write() fails.
The 'fail' label used to be win32 only but is now
used across platforms.
|
|
|
|
|
|
|
|
Removed symbolic links from repository.
|
|
Can still not setup -a, but cerl works.
|
|
|
|
Still does not run, just compiles.
|
|
On Windows, escript may be passed different arvg[0] values depending
on how it was started up.
This patch allows for escript to be started as "escript.exe"
(current behaviour) and also "escript" which is more likely when
called from the default Windows cmd.exe shell.
|
|
* rickard/sched-compact-load/OTP-9695:
Add switch that can disable scheduler compaction of load
|
|
|
|
If parallel make is used, several instance of 'erlc' is likely to
be invoked at once. Therefore, the default binding of schedulers
to CPU cores will do no good. (With this change, the build of
Erlang/OTP with six threads finished in about 7 minutes; without in
about 11 minutes.)
|
|
* rickard/alloc-opt/OTP-7775:
Optimize memory allocation
Conflicts:
erts/aclocal.m4
erts/emulator/hipe/hipe_bif_list.m4
erts/preloaded/ebin/erl_prim_loader.beam
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/init.beam
erts/preloaded/ebin/otp_ring0.beam
erts/preloaded/ebin/prim_file.beam
erts/preloaded/ebin/prim_inet.beam
erts/preloaded/ebin/prim_zip.beam
erts/preloaded/ebin/zlib.beam
|
|
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.
|
|
|
|
|
|
* pan/win_erlsrv_stop/OTP-9344:
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/vsn.mk
|
|
|
|
This commit adds test cases from release_handler_SUITE on windows,
including some corrections in erlsrv and release_handler.
|
|
|
|
|
|
|
|
|
|
|
|
* bjorn/test-environment-improvements/OTP-9297:
erlexec: Make ERL_<version>_FLAGS behave like ERL_AFLAGS
cerl: Fix several incompatibilities with 'erl'
Teach erlexec the -emu_name_exit option
cerl: Remove ancient obsolete options
|
|
* dc/improved_find_redist:
support new SDKs in find_redist.sh and fallback to $ERL_TOP as last resort
OTP-9287
|
|
The contents of the ERL_<version>_FLAGS undocumented environment
variable would be added at the end of the command line passed
to the BEAM emualator (similar to ERL_ZFLAGS), making it impossible
to override (for example) "-smp" with "-smp disable" on the command
line.
To allow overriding, put the contents of ERL_<version>_FLAGS at
the beginning of the command line (similar to ERL_AFLAGS).
Since the ERL_<version>_FLAGS variable is undocumented and
unsupported, it is OK to change its behaviour in a minor release.
|
|
Invoking 'cerl' like 'cerl -smp' would only start the smp emulator
if default was to start the non-smp emulator, otherwise 'erlexec'
would try to start 'beam.smp.smp'. Furthermore 'cerl -smp disable'
would be handled in the same way as 'cerl -smp'.
|
|
It is difficult/impossible to find out whether an invocation of
'erl' will start the smp emulator or the non-smp emulator
(short of actually starting the emulator). Therefore we will need
a way to ask 'erlexec'.
|
|
The -frag and -smp_frag options was used to start an (at the time)
experimental build of the emulator. The -shared and -hybrid option
was used to start experimental versions of the emulator with
alternate heap architectures.
|
|
Flow control can cause unwanted behaviour of the beam process,
if accidentally hit Ctrl-S (instead of Ctrl-D to detach) the
entire beam may be blocked.
Fix this problem by making it possible to turn off flow
control by setting the environment variable RUN_ERL_DISABLE_FLOWCNTRL.
|
|
* ms/heart-rem-garbage-append:
heart: remove garbage appended to heart command
OTP-9224
|
|
* ta/erts-unused-vars:
erts: Remove unused variables
OTP-9205
|
|
heart:get_cmd/0 is documented to return an empty string if the command is
cleared. get_cmd/0 returns 2 extra bytes: 1 byte for the trailing null,
1 byte from the op (the op is an unsigned char and 2 bytes are allocated
for it in the returned buffer).
1> heart:get_cmd().
{ok,[0,0]}
2> heart:set_cmd("echo hello").
ok
3> heart:get_cmd().
{ok,[101,99,104,111,32,104,101,108,108,111,0,0]}
4> heart:clear_cmd().
ok
5> heart:get_cmd().
{ok,[0,99]}
|
|
* pan/run_erl_race_creating_fifo/OTP-9164:
Fix race in pipe creation. Two simultaneous node starts caused failure
|