Erlang/OTP 22.3.4.24

This release of Erlang/OTP can be built from source or installed using pre-built packages for your OS or third-party tools (such as kerl or asdf).

docker run -it erlang:22.3.4.24
Patch Package OTP 22.3.4.24
Git Tag OTP-22.3.4.24
Date 2021-12-21
Issue Id
ERIERL-729
System OTP
Release 22
Application

Highlights #

OTP-17796
Application(s):
erts
Related Id(s):
ERIERL-729 , PR-5473

Responsiveness of processes executing on normal or low priority could suffer due to code purging or literal area removal on systems with a huge amount of processes. This since during these operations all processes on the system were scheduled for execution at once.

This problem has been fixed by introducing a limit on outstanding purge and copy literal requests in the system. By default this limit is set to twice the amount of schedulers on the system. This will ensure that schedulers will have enough work scheduled to perform these operations as quickly as possible at the same time as other work will be interleaved to a much higher degree. Performance of these operations will however be somewhat degraded due to the overhead of enforcing this limit compared to when using a very large limit.

This limit can be set by passing the +zosrl command line argument to erl, or by calling erlang:system_flag(outstanding_system_requests_limit, NewLimit).

erts-10.7.2.16 #

Note! The erts-10.7.2.16 application *cannot* be applied independently of other applications on an arbitrary OTP 22 installation. On a full OTP 22 installation, also the following runtime dependency has to be satisfied: -- kernel-6.5.1 (first satisfied in OTP 22.2)

OTP-17796
Application(s):
erts
Related Id(s):
ERIERL-729 , PR-5473

*** HIGHLIGHT ***

Responsiveness of processes executing on normal or low priority could suffer due to code purging or literal area removal on systems with a huge amount of processes. This since during these operations all processes on the system were scheduled for execution at once.

This problem has been fixed by introducing a limit on outstanding purge and copy literal requests in the system. By default this limit is set to twice the amount of schedulers on the system. This will ensure that schedulers will have enough work scheduled to perform these operations as quickly as possible at the same time as other work will be interleaved to a much higher degree. Performance of these operations will however be somewhat degraded due to the overhead of enforcing this limit compared to when using a very large limit.

This limit can be set by passing the +zosrl command line argument to erl, or by calling erlang:system_flag(outstanding_system_requests_limit, NewLimit).

Full runtime dependencies of erts-10.7.2.16: kernel-6.5.1, sasl-3.3, stdlib-3.5