Age | Commit message (Collapse) | Author |
|
Clear the "enabled" flag for scheduling statistics when disable is
specified.
|
|
* sverk/mac-select-assert-bug:
erts: Fix faulty assert in "unlimited select" for mac
|
|
* sverk/valgrind-single-core:
erts: Speed up valgrind with asynch threads
|
|
* raimo/fix-signedness-flaws-in-efile_drv:
Fix EV_* macros and functions signedness flaws
|
|
* egil/erl_driver-thread-info/OTP-11303:
erts: Document erl_driver interface lock names
erts: Extend erl_driver interface with lock names
|
|
|
|
* raimo/linux-network-namespace-sockopt/OTP-11157:
Document socket option 'netns'
Rudimentary test
Make netns option value a string
Implement netns for SCTP + bugfixes
Implement netns option for TCP and UDP
Implement emulator netns support for TCP and UDP
|
|
|
|
* sv-sched-percentage-option:
Silence gcc warnings in non-smp build
|
|
* lukas/erts/clean_port_msg_dispatcher/OTP-11290:
erts: Fix segfault when scheduling release_port later_op
|
|
|
|
|
|
* sv-sched-percentage-option:
add erl option to set schedulers by percentages
OTP-11282
|
|
For applications where measurements show enhanced performance from the use
of a non-default number of emulator scheduler threads, having to accurately
set the right number of scheduler threads across multiple hosts each with
different numbers of logical processors is difficult because the erl +S
option requires absolute numbers of scheduler threads and scheduler threads
online to be specified.
To address this issue, add a +SP option to erl, similar to the existing +S
option but allowing the number of scheduler threads and scheduler threads
online to be set as percentages of logical processors configured and
logical processors available, respectively. For example, "+SP 50:25" sets
the number of scheduler threads to 50% of the logical processors
configured, and the number of scheduler threads online to 25% of the
logical processors available. The +SP option also interacts with any
settings specified with the +S option, such that the combination of options
"+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2
scheduler threads online.
Add documentation for the +SP option.
Add tests for the +SP option to scheduler_SUITE.
Add tests and documentation for two existing features of the +S option: +S
0:0 resets the scheduler thread count and scheduler threads online count to
their defaults, and specifying negative numbers for +S results in those
values being subtracted from the default values for the host.
|
|
* essen/export-zlib-zstream/OTP-11278:
Updated preloaded
Export type zlib:zstream/0
|
|
|
|
begin_port_cleanup can be called from a non-scheduler thread, this
means that there is no esdp available and thus erts_schedule_thr_prgr_later_op
segfaults.
|
|
* sze/edlin_understand_keys/OTP-11251:
Added primary bootstrap
erts: fixed documentation regarding tty and arrow keys
make edlin understand a few important control keys
|
|
The actual port id is used to create a key from the
pointer value which is the ErlDrvPort. To do this
a new driver api function driver_async_port_key is
added and the driver API minor version is updated.
The documentation is updated and the faulty description of
how to spread ports over async threads is updated to
use the new API.
Testcase also added.
|
|
|
|
|
|
by only letting it run on one core. Valgrind only let one thread
at a time execute anyway.
|
|
* lukas/erts/crash_dump_acul/OTP-11264:
erts: Fix print out of acul option in crash dump
|
|
* lukas/erts/efile_undef_behaviour/OTP-11246:
erts: Fix bug in translating ev macros to functions
|
|
|
|
Terms of this type are returned and sometimes sit in states.
Exporting it allows us to properly track the types there.
|
|
|
|
|
|
|
|
* lukas/erts/efile_undef_behaviour/OTP-11246:
erts: Refactor non-pure macros to functions
|
|
|
|
This is needed as some gcc versions seems to optimize this undefined
behaviour in a way which breaks this code.
|
|
* lukas/erts/match_spec_test_silent/OTP-11232:
erts: Do not enable TRACE_SILENT when testing a ms
|
|
* sverk/ptab-race:
erts: Fix race in ptab that can cause PID mix-ups
OTP-11225
|
|
|
|
* olgeni/erl_driver-man-fixes/OTP-11227:
Misc. corrections for erl_driver(3)
|
|
* lukas/erts/etp-thr/OTPO-11220:
etp: Do not use name as beam.smp is the name on Linux
|
|
|
|
* lukas/erts/etp-thr/OTPO-11220:
erts: Create gdb pything script for thread listing
|
|
* lukas/smoketests/OTP-11221:
Add smoke tests
|
|
* lukas/erts/ethr_smp_req_native_compiletime/OTP-11196:
Bailout if no native implementations are found
|
|
Since: R16B01
Symptom: A spawned process may get the same PID as an existing
process. The new process will "steal" the PID and make the old process
unreachable through the PID.
The problem also applies to port identities but has only been seen
for processes.
Conditions: SMP emulator with at least two scheduler threads. Rapid
spawning and termination of a large number of processes. A small
number of free slots in the process table will also increase the risk
for this bug.
Workaround: Use command line options "+P legacy" and "+Q legacy"
Cause: The race happens if a process terminates and gets stalled while
releasing its process table slot. The stall has to be so long (due to OS
preemptive scheduling most probably) for other schedluer threads to
consume all other free slots for newly spawn processes.
Fix: Write invalid-markers in the free-pid-table and do atomic exhange
operations in retry-loops to make sure each thread gets a unique PID.
|
|
- Remove trailing whitespaces
- Spelling fixes
- Replace "deferred" with "deprecated" where applicable
- Remove reference to non-existing "async_ready" entry point
|
|
Hi Fredrik,
> I've gotten some feedback from your review,
> You need to add documentation under Erts-> "User's Guide" -> "tty - A
> command line interface"
>
> You need to add testcase in interactive_shell_SUITE a simplified
> example of how this testcase could look like;
> ctrl_w_and_ctrl_u(_Conf) ->
> rtnode([{putline,""}, {putline, "2."}, {getline, "2"},
> {putline,"xxx yy"++[$\^w]++"."}, {getline,"xxx"}, {putline,"xxx
> yy"++[$\^u]++"z."}, {getline,"z"}],[]).
Please find an updated version of the patch attached to this e-mail. I
hope that you still accept it via e-mail because the former patch was
sent the same way ;-).
I have extended the documentation to list the new key combinations and
added tests to make sure they work.
Kind regards,
--
Dr. Stefan Zegenhagen
arcutronix GmbH
Garbsener Landstr. 10
30419 Hannover
Germany
Tel: +49 511 277-2734
Fax: +49 511 277-2709
Email: [email protected]
Web: www.arcutronix.com
*Synchronize the Ethernet*
General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer -
Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht
Hannover; Ust-Id: DE257551767.
Please consider the environment before printing this message.
>From ce4b827c78d18f39bb1146fd2959ffd7ae2b4bb6 Mon Sep 17 00:00:00 2001
From: Stefan Zegenhagen <[email protected]>
Date: Mon, 6 May 2013 14:39:07 +0200
Subject: [PATCH] [EDLIN] support a few more control keys
Add support for the following control keys that many users have become
accustomed to:
- <CTRL>+W : backward kill word
- <CTRL>+U : backward kill line
- <HOME> : goto start of line
- <END> : goto end of line
- <CTRL>+<LEFT> : backward word
- <CTRL>+<RIGHT> : forward word
It seems that the <CTRL>+<LEFT|RIGHT> control key sequences are
different between terminal emulators, therefore a few possible
combinations were added (similar to how libreadline is configured).
Documentation and tests are extended to reflect the new functionality.
|
|
* weisslj/fix-gcc40-arm-compile-error/OTP-11214:
Fix compile error on ARM and GCC < 4.1.0
|
|
Smoke tests are meant to verify that a build of erlang has been successfull.
|
|
|
|
Bug reported by Jose Valim on the erlang-bugs mailing list:
erlang:halt(0,[]) does not flush as advertised in the documentation.
Should be the same as erlang:halt(0,[{flush,true}]), but is in fact
the same as erlang:halt(0,[{flush,false}]).
|
|
* weisslj/run-erl-redirect-dev-null/OTP-11215:
run_erl: Redirect standard streams to /dev/null
|
|
Some basic tests are already done in configure. This makes sure we
cover all cases by bailing out when compiling as well.
|