diff options
author | Rickard Green <rickard@erlang.org> | 2021-11-24 22:50:13 +0100 |
---|---|---|
committer | Rickard Green <rickard@erlang.org> | 2021-12-06 18:01:20 +0100 |
commit | 7241a6a3e6940b2efed5fde39f78ef8b69212b97 (patch) | |
tree | d164c13b060b67fa2137f463ea0431c4dd9b700a /erts/preloaded/ebin/erts_literal_area_collector.beam | |
parent | 1a68663cde280a24cee5073f48f3876dfbc3eb75 (diff) | |
download | erlang-7241a6a3e6940b2efed5fde39f78ef8b69212b97.tar.gz |
Introduce outstanding requests limit for system processes
This limit effects system processes that orchestrates operations that
involves all processes in the system. Currently there are two such
processes, the code purger process and the literal area collector
process. They previously sent out requests to all processes on the
system at once, and then waited for responses from these processes in
order to determine when the operation had completed.
When a process had handled such a request it could (and still can)
continue executing Erlang code once it had served this request. If
executing on priority normal or low, it would however not get another
opportunity to execute until all other requests had been served. This
negatively impacted responsiveness of processes during operations like
these on systems with a huge amount of processes.
This change limits the amount of outstanding request which will cause
the system to interleave handling of requests like these with other
execution and by this improve responsiveness on systems with a huge
amount of processes. By default the limit is set to two times the
amount of schedulers. This will make sure that there always will be
enough outstanding requests to utilize all schedulers fully during
operations like these while also letting other work execute without
having to wait very long.
Diffstat (limited to 'erts/preloaded/ebin/erts_literal_area_collector.beam')
-rw-r--r-- | erts/preloaded/ebin/erts_literal_area_collector.beam | bin | 3272 -> 4452 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/erts/preloaded/ebin/erts_literal_area_collector.beam b/erts/preloaded/ebin/erts_literal_area_collector.beam Binary files differindex 6a3ec567da..3091c07cc5 100644 --- a/erts/preloaded/ebin/erts_literal_area_collector.beam +++ b/erts/preloaded/ebin/erts_literal_area_collector.beam |