cvs commit: fptools/ghc/includes RtsFlags.h fptools/ghc/rts RtsFlags.c Timer.c

Simon Marlow simonmar at haskell.org
Mon May 16 10:27:08 EDT 2005


simonmar    2005/05/16 07:27:08 PDT

  Modified files:
    ghc/includes         RtsFlags.h 
    ghc/rts              RtsFlags.c Timer.c 
  Log:
  Allow the amount of idle time which must pass before we force a major
  GC to be configured at runtime with the +RTS -I<secs> option.
  
  The idle GC only happens in the threaded RTS, and it is useful because
  it can make finalizers run more promptly, and also detect cases of
  deadlock.  Without the idle GC, Haskell computation must be taking
  place in order for finalizers to run or deadlock to be detected, and
  the only way some Haskell computation can take place is usually by
  in-calls.
  
  +RTS -I0 turns off the idle GC, the default is +RTS -I0.3.
  
  We might need to add more tuning if it turns out that the idle GC is
  problematic, for example we don't check how long the GC actually took,
  and we should probably back off if major GCs are taking too long and
  adversely affecting interactive responsiveness.
  
  Revision  Changes    Path
  1.50      +2 -0      fptools/ghc/includes/RtsFlags.h
  1.84      +21 -0     fptools/ghc/rts/RtsFlags.c
  1.6       +19 -10    fptools/ghc/rts/Timer.c


More information about the Cvs-ghc mailing list