Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/a02eb298d3f6089e51a43307ffb37e3a8076c8fd >--------------------------------------------------------------- commit a02eb298d3f6089e51a43307ffb37e3a8076c8fd Author: Simon Marlow <[email protected]> Date: Fri Dec 9 10:35:46 2011 +0000 New flag +RTS -qi<n>, avoid waking up idle Capabilities to do parallel GC This is an experimental tweak to the parallel GC that avoids waking up a Capability to do parallel GC if we know that the capability has been idle for a (tunable) number of GC cycles. The idea is that if you're only using a few Capabilities, there's no point waking up the ones that aren't busy. e.g. +RTS -qi3 says "A Capability will participate in parallel GC if it was running at all since the last 3 GC cycles." Results are a bit hit and miss, and I don't completely understand why yet. Hence, for now it is turned off by default, and also not documented except in the +RTS -? output. includes/rts/Flags.h | 8 +++++ rts/Capability.c | 1 + rts/Capability.h | 3 ++ rts/RtsFlags.c | 10 ++++++- rts/Schedule.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++- rts/sm/GC.c | 26 +++++++++++++----- rts/sm/GCThread.h | 1 + 7 files changed, 109 insertions(+), 10 deletions(-) Diff suppressed because of size. To see it, use: git show a02eb298d3f6089e51a43307ffb37e3a8076c8fd _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
