[erlang-bugs] Schedulers getting "stuck", part II
Scott Lystig Fritchie
fritchie@REDACTED
Tue Apr 30 22:34:09 CEST 2013
Patrik Nyblom <pan@REDACTED> wrote:
pn> Hmmm, dropping schedulers...? There seems to be a perfectly new and
pn> fresh bug in R16B when dropping schedulers. One that we've fixed in
pn> the maint branch. Could you please please please try the tip of the
pn> maint branch (i.e. what's to be R16B01)?
Today's maint branch works well, 20 out of 20 runs show all 5 schedulers
in use when I use this (which uses the "nifwait" source repo, see
earlier in this thread for where to find it).
foreach i (`seq 1 20`)
./bin/erl -noshell -noinput +scl false -pz ~/b/src/nifwait/ebin -sname foo -eval 'N = 5, io:format("OS pid ~s\n\n", [os:getpid()]), timer:sleep(8*1000), io:format("go\n"), erlang:system_flag(schedulers_online, N), timer:sleep(12*1000), timer:tc(erlang, apply, [fun () -> XX = lists:sort(element(1,wait:run(4*100, 1024*1024, 1100, 5))), {hd(XX), lists:last(XX)} end, []]).' & sleep 45 ; kill %.
end
... and then look at the %user CPU time with "iostat" or "vmstat".
This 20 out of 20 iterations @ 5 cores never happens with R16B. In
fact, using the same loop above, using R16B, I found 0 out of 6
iterations @ 5 cores before I gave up waiting for a good 5 core
balance.
-Scott
More information about the erlang-bugs
mailing list