[erlang-patches] Disable scheduler sleep

Scott Lystig Fritchie <>
Fri May 17 23:38:32 CEST 2013

For the OTP team's consideration ... Disable scheduler sleep

For use in conjunction with "+scl false", for example:

    erl +scl false +zdnfgtse 500:500

See the discussion in these mailing list threads for more

* http://erlang.org/pipermail/erlang-questions/2013-April/073490.html
* http://erlang.org/pipermail/erlang-bugs/2013-May/003529.html

As noted in the email threads, all R15B releases as well as R16B are
vulnerable to the schedulers falling asleep too agressively.  I've also
tested the future will-eventually-be-R16B01 from the OTP team's source
repo's "maint" branch, as described by:

    % git log | head -6
    commit a70d09b6e611771b467a91c7ebeca1e14390553a
    Merge: 8260029 fb8cbfa
    Author: Fredrik Gustafsson <>
    Date:   Fri May 17 10:03:30 2013 +0200
        Merge branch 'nm/mnesia_idx_insert_speedup/OTP-11103' into maint

... and it is vulnerable, also.

Patch info:

git fetch git://github.com/slfritchie/otp.git disable-scheduler-sleeps


With this patch, release R16B and the today's "maint" branch are not
vulnerable when run with "erl +scl false +zdnfgtse 500:500".

This patch may be applied to the R15B releases and works correctly.
The "patch" utility will complain about some fuzz, but it should not
actually fail.


More information about the erlang-patches mailing list