[commit: ghc] local-gc: fix the new capset events: they were being emitted even without +RTS -Ds. (faf6205)
Simon Marlow
marlowsd at gmail.com
Mon Jun 6 05:57:26 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : local-gc
http://hackage.haskell.org/trac/ghc/changeset/faf6205675966a348b3d43fd09f9922d1c25c1a9
>---------------------------------------------------------------
commit faf6205675966a348b3d43fd09f9922d1c25c1a9
Author: Simon Marlow <marlowsd at gmail.com>
Date: Mon Jun 6 04:49:44 2011 +0100
fix the new capset events: they were being emitted even without +RTS -Ds.
>---------------------------------------------------------------
rts/Trace.h | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/rts/Trace.h b/rts/Trace.h
index 1544971..1a4d1df 100644
--- a/rts/Trace.h
+++ b/rts/Trace.h
@@ -178,6 +178,14 @@ void traceEventStartup_ (int n_caps);
* the capset info events so for simplicity, rather than working out if
* they're necessary we always emit them. They should be very low volume.
*/
+/*
+ * Emit a message/event describing the state of a thread
+ */
+#define traceCapsetModify(tag, capset, other) \
+ if (RTS_UNLIKELY(TRACE_sched)) { \
+ traceCapsetModify_(tag,capset,other); \
+ }
+
void traceCapsetModify_ (EventTypeNum tag,
CapsetID capset,
StgWord32 other);
@@ -195,7 +203,7 @@ void traceOSProcessInfo_ (void);
#define debugTraceCap(class, cap, str, ...) /* nothing */
#define traceThreadStatus(class, tso) /* nothing */
#define traceEventStartup_(n_caps) /* nothing */
-#define traceCapsetModify_(tag, capset, other) /* nothing */
+#define traceCapsetModify(tag, capset, other) /* nothing */
#define traceOSProcessInfo_() /* nothing */
#endif /* TRACING */
@@ -448,27 +456,27 @@ INLINE_HEADER void traceEventGcDone(Capability *cap STG_UNUSED)
INLINE_HEADER void traceCapsetCreate(CapsetID capset STG_UNUSED,
CapsetType capset_type STG_UNUSED)
{
- traceCapsetModify_(EVENT_CAPSET_CREATE, capset, capset_type);
+ traceCapsetModify(EVENT_CAPSET_CREATE, capset, capset_type);
dtraceCapsetCreate(capset, capset_type);
}
INLINE_HEADER void traceCapsetDelete(CapsetID capset STG_UNUSED)
{
- traceCapsetModify_(EVENT_CAPSET_DELETE, capset, 0);
+ traceCapsetModify(EVENT_CAPSET_DELETE, capset, 0);
dtraceCapsetDelete(capset);
}
INLINE_HEADER void traceCapsetAssignCap(CapsetID capset STG_UNUSED,
nat capno STG_UNUSED)
{
- traceCapsetModify_(EVENT_CAPSET_ASSIGN_CAP, capset, capno);
+ traceCapsetModify(EVENT_CAPSET_ASSIGN_CAP, capset, capno);
dtraceCapsetAssignCap(capset, capno);
}
INLINE_HEADER void traceCapsetRemoveCap(CapsetID capset STG_UNUSED,
nat capno STG_UNUSED)
{
- traceCapsetModify_(EVENT_CAPSET_REMOVE_CAP, capset, capno);
+ traceCapsetModify(EVENT_CAPSET_REMOVE_CAP, capset, capno);
dtraceCapsetRemoveCap(capset, capno);
}
More information about the Cvs-ghc
mailing list