X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2Frts%2FConstants.h;h=140aaa4210bd126c3ffaf1df8ea95bcfd14da34d;hp=0aee60aa83c18fed3c0b2a20330b1a2e6e20a6fc;hb=83d563cb9ede0ba792836e529b1e2929db926355;hpb=0417404f5d1230c9d291ea9f73e2831121c8ec99 diff --git a/includes/rts/Constants.h b/includes/rts/Constants.h index 0aee60a..140aaa4 100644 --- a/includes/rts/Constants.h +++ b/includes/rts/Constants.h @@ -208,24 +208,30 @@ #define NotBlocked 0 #define BlockedOnMVar 1 #define BlockedOnBlackHole 2 -#define BlockedOnException 3 -#define BlockedOnRead 4 -#define BlockedOnWrite 5 -#define BlockedOnDelay 6 -#define BlockedOnSTM 7 +#define BlockedOnRead 3 +#define BlockedOnWrite 4 +#define BlockedOnDelay 5 +#define BlockedOnSTM 6 /* Win32 only: */ -#define BlockedOnDoProc 8 +#define BlockedOnDoProc 7 /* Only relevant for PAR: */ /* blocked on a remote closure represented by a Global Address: */ -#define BlockedOnGA 9 +#define BlockedOnGA 8 /* same as above but without sending a Fetch message */ -#define BlockedOnGA_NoSend 10 +#define BlockedOnGA_NoSend 9 /* Only relevant for THREADED_RTS: */ -#define BlockedOnCCall 11 -#define BlockedOnCCall_NoUnblockExc 12 - /* same as above but don't unblock async exceptions in resumeThread() */ +#define BlockedOnCCall 10 +#define BlockedOnCCall_Interruptible 11 + /* same as above but permit killing the worker thread */ + +/* Involved in a message sent to tso->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 @@ -296,4 +302,13 @@ #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 + #endif /* RTS_CONSTANTS_H */