diff options
author | simonmar@microsoft.com <unknown> | 2007-11-20 13:36:35 +0000 |
---|---|---|
committer | simonmar@microsoft.com <unknown> | 2007-11-20 13:36:35 +0000 |
commit | 8db56c8606e6c0e89a87d34c3f67124f1e8b988e (patch) | |
tree | 8ee9883969f75dbaa1fcd6d9842f79d5adc56805 /includes | |
parent | 510d17388f2c1cde5bbcef8083a57444438614de (diff) | |
download | haskell-8db56c8606e6c0e89a87d34c3f67124f1e8b988e.tar.gz |
improvements to PAPI support
- major (multithreaded) GC is measured separately from minor GC
- events to measure can now be specified on the command line, e.g
prog +RTS -a+PAPI_TOT_CYC
Diffstat (limited to 'includes')
-rw-r--r-- | includes/RtsFlags.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/includes/RtsFlags.h b/includes/RtsFlags.h index bc36ebdb8f..902e6c064b 100644 --- a/includes/RtsFlags.h +++ b/includes/RtsFlags.h @@ -304,11 +304,13 @@ struct TRACE_FLAGS { rtsBool timestamp; /* add timestamps to traces */ }; -/* Put them together: */ - #ifdef USE_PAPI +#define MAX_PAPI_USER_EVENTS 8 + struct PAPI_FLAGS { nat eventType; /* The type of events to count */ + nat numUserEvents; + char * userEvents[MAX_PAPI_USER_EVENTS]; }; #define PAPI_FLAG_CACHE_L1 1 @@ -316,9 +318,12 @@ struct PAPI_FLAGS { #define PAPI_FLAG_BRANCH 3 #define PAPI_FLAG_STALLS 4 #define PAPI_FLAG_CB_EVENTS 5 +#define PAPI_USER_EVENTS 6 #endif +/* Put them together: */ + typedef struct _RTS_FLAGS { /* The first portion of RTS_FLAGS is invariant. */ struct GC_FLAGS GcFlags; |