summaryrefslogtreecommitdiff
path: root/rts/RtsFlags.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/RtsFlags.c')
-rw-r--r--rts/RtsFlags.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c
index 033db38435..2685d2e945 100644
--- a/rts/RtsFlags.c
+++ b/rts/RtsFlags.c
@@ -195,6 +195,7 @@ void initRtsFlagsDefaults(void)
RtsFlags.ParFlags.parGcGen = 0;
RtsFlags.ParFlags.parGcLoadBalancingEnabled = rtsTrue;
RtsFlags.ParFlags.parGcLoadBalancingGen = 1;
+ RtsFlags.ParFlags.parGcNoSyncWithIdle = 0;
RtsFlags.ParFlags.setAffinity = 0;
#endif
@@ -367,6 +368,9 @@ usage_text[] = {
" (default: 1, -qb alone turns off load-balancing)",
" -qa Use the OS to set thread affinity (experimental)",
" -qm Don't automatically migrate threads between CPUs",
+" -qi<n> If a processor has been idle for the last <n> GCs, do not",
+" wake it up for a non-load-balancing parallel GC.",
+" (0 disables, default: 0)",
#endif
" --install-signal-handlers=<yes|no>",
" Install signal handlers (default: yes)",
@@ -1193,7 +1197,11 @@ error = rtsTrue;
= strtol(rts_argv[arg]+3, (char **) NULL, 10);
}
break;
- case 'a':
+ case 'i':
+ RtsFlags.ParFlags.parGcNoSyncWithIdle
+ = strtol(rts_argv[arg]+3, (char **) NULL, 10);
+ break;
+ case 'a':
RtsFlags.ParFlags.setAffinity = rtsTrue;
break;
case 'm':