X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2Frts%2FConstants.h;h=a4114ab999a0175beb16927ce97d717768f0e37e;hb=HEAD;hp=8ebe16a6626616a38de8f78911b92d266ea2e622;hpb=d2c874dc74e2d99eda70d83e9b540f54c45c2154;p=ghc-hetmet.git diff --git a/includes/rts/Constants.h b/includes/rts/Constants.h index 8ebe16a..a4114ab 100644 --- a/includes/rts/Constants.h +++ b/includes/rts/Constants.h @@ -66,6 +66,13 @@ #define MAX_CHARLIKE 255 #define MIN_CHARLIKE 0 +/* Each byte in the card table for an StgMutaArrPtrs covers + * (1<msg_cap */ +#define BlockedOnMsgThrowTo 12 + +/* The thread is not on any run queues, but can be woken up + by tryWakeupThread() */ +#define ThreadMigrating 13 /* * These constants are returned to the scheduler by a thread that has @@ -253,11 +265,6 @@ #define TSO_STOPPED_ON_BREAKPOINT 16 /* - * TSO_LINK_DIRTY is set when a TSO's link field is modified - */ -#define TSO_LINK_DIRTY 32 - -/* * Used by the sanity checker to check whether TSOs are on the correct * mutable list. */ @@ -289,4 +296,22 @@ #error RESERVED_STACK_WORDS may be wrong! #endif +/* + * The number of times we spin in a spin lock before yielding (see + * #3758). To tune this value, use the benchmark in #3758: run the + * server with -N2 and the client both on a dual-core. Also make sure + * that the chosen value doesn't slow down any of the parallel + * benchmarks in nofib/parallel. + */ +#define SPIN_COUNT 1000 + +/* ----------------------------------------------------------------------------- + Spare workers per Capability in the threaded RTS + + No more than MAX_SPARE_WORKERS will be kept in the thread pool + associated with each Capability. + -------------------------------------------------------------------------- */ + +#define MAX_SPARE_WORKERS 6 + #endif /* RTS_CONSTANTS_H */