X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsFlags.c;h=0794dc4c871d8e929f59b17056c595bd1cf6da4f;hb=1396b545018d2c945b9c289b022d77179a046fc6;hp=3fac86bf4ee26658d7741928029a4b0545e21317;hpb=8b18faef8aeaf40150c208272a2fc117611e8ae8;p=ghc-hetmet.git diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index 3fac86b..0794dc4 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -17,14 +17,6 @@ #include #endif -#ifdef HAVE_UNISTD_H -#include -#endif - -#ifdef HAVE_WINDOWS_H -#include -#endif - #include #include @@ -233,6 +225,7 @@ void initRtsFlagsDefaults(void) RtsFlags.ParFlags.parGcEnabled = 1; RtsFlags.ParFlags.parGcGen = 1; RtsFlags.ParFlags.parGcLoadBalancing = 1; + RtsFlags.ParFlags.setAffinity = 0; #endif #ifdef PAR @@ -360,7 +353,7 @@ usage_text[] = { " -K Sets the maximum stack size (default 8M) Egs: -K32k -K512k", " -k Sets the initial thread stack size (default 1k) Egs: -k4k -k2m", "", -" -A Sets the minimum allocation area size (default 256k) Egs: -A1m -A10k", +" -A Sets the minimum allocation area size (default 512k) Egs: -A1m -A10k", " -M Sets the maximum heap size (default unlimited) Egs: -M256k -M1G", " -H Sets the minimum heap size (default 0M) Egs: -H24m -H1G", " -m Minimum % of heap which must be available (default 3%)", @@ -476,6 +469,8 @@ usage_text[] = { " -N Determine the number of processors to use automatically", " -q1 Use one OS thread for GC (turns off parallel GC)", " -qg Use parallel GC only for generations >= (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 @@ -1233,6 +1228,9 @@ error = rtsTrue; case 'b': RtsFlags.ParFlags.parGcLoadBalancing = rtsFalse; break; + case 'a': + RtsFlags.ParFlags.setAffinity = rtsTrue; + break; case 'm': RtsFlags.ParFlags.migrate = rtsFalse; break;