Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Apr 2006 23:42:56 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 96034 for review
Message-ID:  <200604242342.k3ONguSw011958@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=96034

Change 96034 by jb@jb_freebsd2 on 2006/04/24 23:42:49

	Add the DTrace specific fields to 'struct thread'.

Affected files ...

.. //depot/projects/dtrace/src/sys/sys/proc.h#3 edit

Differences ...

==== //depot/projects/dtrace/src/sys/sys/proc.h#3 (text+ko) ====

@@ -331,6 +331,44 @@
 	struct mdthread td_md;		/* (k) Any machine-dependent fields. */
 	struct td_sched	*td_sched;	/* (*) Scheduler-specific data. */
 	struct kaudit_record	*td_ar;	/* (k) Active audit record, if any. */
+
+/* Start of DTrace-specific fields. */
+	u_int		td_predcache;	/* DTrace predicate cache */
+	u_int64_t	td_dtrace_vtime;
+					/* DTrace virtual time */
+	u_int64_t	td_dtrace_start;
+					/* DTrace slice start time */
+
+	u_int8_t	td_dtrace_stop;	/* Indicates a DTrace-desired stop */
+	u_int8_t	td_dtrace_sig;	/* Signal sent via DTrace's raise() */
+
+	union __tdu {
+		struct __tds {
+			u_int8_t	_td_dtrace_on;
+					/* Hit a fasttrap tracepoint. */
+			u_int8_t	_td_dtrace_step;
+					/* About to return to kernel. */
+			u_int8_t	_td_dtrace_ret;
+					/* Handling a return probe. */
+			u_int8_t	_td_dtrace_ast;
+					/* Saved ast flag. */
+		} _tds;
+		u_long	_td_dtrace_ft;	/* Bitwise or of these flags. */
+	} _tdu;
+#define	td_dtrace_ft	_tdu._td_dtrace_ft
+#define	td_dtrace_on	_tdu._tds._td_dtrace_on
+#define	td_dtrace_step	_tdu._tds._td_dtrace_step
+#define	td_dtrace_ret	_tdu._tds._td_dtrace_ret
+#define	td_dtrace_ast	_tdu._tds._td_dtrace_ast
+
+	uintptr_t	td_dtrace_pc;	/* DTrace saved pc from fasttrap. */
+	uintptr_t	td_dtrace_npc;	/* DTrace next pc from fasttrap. */
+	uintptr_t	td_dtrace_scrpc;
+					/* DTrace per-thread scratch location. */
+	uintptr_t	td_dtrace_astpc;
+					/* DTrace return sequence location. */
+	u_int64_t	td_hrtime;	/* Last time on cpu. */
+/* End of DTrace-specific fields. */
 };
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604242342.k3ONguSw011958>