[GHC] #3553: parallel gc suffers badly if one thread is descheduled

GHC trac at galois.com
Mon Jan 25 12:31:26 EST 2010


#3553: parallel gc suffers badly if one thread is descheduled
---------------------------------+------------------------------------------
    Reporter:  simonmar          |        Owner:  igloo       
        Type:  merge             |       Status:  new         
    Priority:  normal            |    Milestone:  6.12.2      
   Component:  Runtime System    |      Version:  6.10.4      
    Keywords:                    |   Difficulty:  Unknown     
          Os:  Unknown/Multiple  |     Testcase:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------

Comment(by wuzzeb):

 I would be careful about adding sched_yield.  Ingo Molnar, the developer
 who wrote and maintains the linux scheduler, says he has never seen a
 valid use of sched_yield.  See
 http://kerneltrap.org/Linux/Using_sched_yield_Improperly for the
 discussion.  At least with the CFS scheduler in linux, using sched_yield
 might not always do what you expect.

 Also, from your blog post at least, it seems like futexes are perfect for
 what you need.  In the uncontended case, they are completely in userspace.
 They can be acquired on one thread and released on another thread.  Any
 reasons why futexes don't work?

 http://people.redhat.com/drepper/futex.pdf
 http://en.wikipedia.org/wiki/Futex

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3553#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list