Add some more flexibility to the multiproc scheduler
authorSimon Marlow <simonmar@microsoft.com>
Fri, 24 Mar 2006 16:45:32 +0000 (16:45 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Fri, 24 Mar 2006 16:45:32 +0000 (16:45 +0000)
commit4368121d93643f6f108c1dc79ac212bf02e56f98
tree50cd49dd864646df34ac75d41f686bffb1ce2f92
parent354cefe72823fd519063b526ed7f76968ba80f5e
Add some more flexibility to the multiproc scheduler

There are two new options in the -threaded RTS:

  -qm       Don't automatically migrate threads between CPUs
  -qw       Migrate a thread to the current CPU when it is woken up

previously both of these were effectively off, i.e. threads were
migrated between CPUs willy-milly, and threads were always migrated to
the current CPU when woken up.  This is the first step in tweaking the
scheduling for more effective work balancing, there will no doubt be
more to come.
ghc/includes/RtsFlags.h
ghc/includes/TSO.h
ghc/rts/Apply.cmm
ghc/rts/Capability.c
ghc/rts/Capability.h
ghc/rts/Exception.cmm
ghc/rts/RtsFlags.c
ghc/rts/Schedule.c
ghc/rts/Schedule.h