[GHC] #12419: Scheduling bug with forkOS + MVar
GHC
ghc-devs at haskell.org
Thu Jul 21 18:36:49 UTC 2016
#12419: Scheduling bug with forkOS + MVar
-----------------------------------------+---------------------------------
Reporter: luisgabriel | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Runtime System | Version: 8.0.1
Keywords: forkOS; scheduler | Operating System: Linux
Architecture: x86_64 (amd64) | Type of failure: None/Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-----------------------------------------+---------------------------------
I have noticed a weird scheduling behavior when performing some
experiments with the '''fasta''' benchmark [1] from The Computer Language
Benchmarks Game. When I switch `forkIO` by `forkOS` the scheduler stops to
assign work for some capabilities, and they stay idle for the whole
execution of the program.
ThreadScope view using forkIO:
https://s31.postimg.org/r3mclspe3/fork_IO_N8_ghc8.png
ThreadScope view using forkOS:
https://s31.postimg.org/p9n265fff/fork_OS_N8_ghc8.png
I was able to reproduce this behavior in both '''GHC 7.10.2''' and '''GHC
8.0.2'''. I was also able to reproduce it on two different machines
running Ubuntu Server 14.04.3 LTS (kernel 3.19.0-25):
- 2x10-core Intel Xeon E5-2660 v2 processors (Ivy Bridge), 2.20 GHz, with
256GB of DDR 1600MHz
- 4-core Intel i7-3770 (IvyBridge) with 8 GB of DDR 1600MHz
Source code + .eventlog files: https://dl.dropboxusercontent.com/u/5798150
/fasta-bug.zip
[1]
http://benchmarksgame.alioth.debian.org/u64q/program.php?test=fasta&lang=ghc&id=7
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12419>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list