summaryrefslogtreecommitdiff
path: root/includes/rts/Flags.h
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-09-15 08:40:00 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-09-15 08:40:00 +0000
commit53628e913632cac29d54da914040e39add334784 (patch)
treecff3c068f60d5580fe4e452e044b5b2c6af352b9 /includes/rts/Flags.h
parenteca1e7e7becd3d444be45850031e3fa35bccd55d (diff)
downloadhaskell-53628e913632cac29d54da914040e39add334784.tar.gz
Improve the default parallel GC settings, and sanitise the flags (#3340)
Flags (from +RTS -?): -qg[<n>] Use parallel GC only for generations >= <n> (default: 0, -qg alone turns off parallel GC) -qb[<n>] Use load-balancing in the parallel GC only for generations >= <n> (default: 1, -qb alone turns off load-balancing) these are good defaults for most parallel programs. Single-threaded programs that want to make use of parallel GC will probably want +RTS -qg1 (this is documented). I've also updated the docs.
Diffstat (limited to 'includes/rts/Flags.h')
-rw-r--r--includes/rts/Flags.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/includes/rts/Flags.h b/includes/rts/Flags.h
index 3d0230a376..733318a002 100644
--- a/includes/rts/Flags.h
+++ b/includes/rts/Flags.h
@@ -144,9 +144,14 @@ struct PAR_FLAGS {
rtsBool wakeupMigrate; /* migrate a thread on wakeup */
unsigned int maxLocalSparks;
rtsBool parGcEnabled; /* enable parallel GC */
- rtsBool parGcGen; /* do parallel GC in this generation
+ unsigned int parGcGen; /* do parallel GC in this generation
* and higher only */
- rtsBool parGcLoadBalancing; /* do load-balancing in parallel GC */
+ rtsBool parGcLoadBalancingEnabled;
+ /* enable load-balancing in the
+ * parallel GC */
+ unsigned int parGcLoadBalancingGen;
+ /* do load-balancing in this
+ * generation and higher only */
rtsBool setAffinity; /* force thread affinity with CPUs */
};
#endif /* THREADED_RTS */