Disable scheduler sleep

Scott Lystig Fritchie <[email protected]>
Newsgroups gmane.comp.lang.erlang.patches
Message-ID <[email protected]>
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
background:

* 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 <[email protected]>
    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

https://github.com/slfritchie/otp/compare/erlang:maint...disable-scheduler-sleeps
https://github.com/slfritchie/otp/compare/erlang:maint...disable-scheduler-sleeps.patch

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.

-Scott
_______________________________________________
erlang-patches mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-patches
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.