[erlang-questions] +secio emulator flag
Mon Sep 11 15:32:18 CEST 2017
On Thu, Aug 31, 2017 at 10:07 AM, Mikael Karlsson <>
> I noticed that the secio emulator flag (scheduler eager check for io)
> default value has changed from false to true since ERTS 7.0. Could someone
> explain what this means in practice, I do not quite understand the line:
> "This, however, also implies that execution of outstanding I/O operation is
> not prioritized to the same extent as when false is passed."
The eager check io flag instructs the emulator when it should check for new
I/O events (internally called check_io) in the fds that it is currently
Without secio, the schedulers will first finish with all work generated
from the previous check_io. If a lot of I/O events where triggered by the
check_io, ports may be temporarily prioritized higher than processes in
order to be able to do the next check_io sooner.
With secio, the next check_io can be done before all events of the previous
check_io are consumed. When this feature is enabled, the temporary higher
prioritization of ports is removed. This is the change in priority that the
documentation is trying to explain.
> Is there any special cases where you would prefer to still have it set to
I see no reason to not have secio enabled.
(sorry for the late reply, I meant to reply to this before but forgot)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions