#include <ctype.h>
#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_WINDOWS_H
-#include <windows.h>
-#endif
-
#include <stdlib.h>
#include <string.h>
RtsFlags.ParFlags.parGcEnabled = 1;
RtsFlags.ParFlags.parGcGen = 1;
RtsFlags.ParFlags.parGcLoadBalancing = 1;
+ RtsFlags.ParFlags.setAffinity = 0;
#endif
#ifdef PAR
" -K<size> Sets the maximum stack size (default 8M) Egs: -K32k -K512k",
" -k<size> Sets the initial thread stack size (default 1k) Egs: -k4k -k2m",
"",
-" -A<size> Sets the minimum allocation area size (default 256k) Egs: -A1m -A10k",
+" -A<size> Sets the minimum allocation area size (default 512k) Egs: -A1m -A10k",
" -M<size> Sets the maximum heap size (default unlimited) Egs: -M256k -M1G",
" -H<size> Sets the minimum heap size (default 0M) Egs: -H24m -H1G",
" -m<n> Minimum % of heap which must be available (default 3%)",
" -N Determine the number of processors to use automatically",
" -q1 Use one OS thread for GC (turns off parallel GC)",
" -qg<n> Use parallel GC only for generations >= <n> (default: 1)",
+" -qb Disable load-balancing in the parallel GC",
+" -qa Use the OS to set thread affinity",
" -qm Don't automatically migrate threads between CPUs",
" -qw Migrate a thread to the current CPU when it is woken up",
#endif
case 'b':
RtsFlags.ParFlags.parGcLoadBalancing = rtsFalse;
break;
+ case 'a':
+ RtsFlags.ParFlags.setAffinity = rtsTrue;
+ break;
case 'm':
RtsFlags.ParFlags.migrate = rtsFalse;
break;