[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