+
+#if CONFIG_DTRACE
+ uint32_t t_dtrace_predcache;/* DTrace per thread predicate value hint */
+ int64_t t_dtrace_tracing; /* Thread time under dtrace_probe() */
+ int64_t t_dtrace_vtime;
+#endif
+
+ uint32_t t_page_creation_count;
+ clock_sec_t t_page_creation_time;
+
+#define T_CHUD_MARKED 0x01 /* this thread is marked by CHUD */
+#define T_IN_CHUD 0x02 /* this thread is already in a CHUD handler */
+#define THREAD_PMC_FLAG 0x04 /* Bit in "t_chud" signifying PMC interest */
+#define T_AST_CALLSTACK 0x08 /* Thread scheduled to dump a
+ * callstack on its next
+ * AST */
+#define T_AST_NAME 0x10 /* Thread scheduled to dump
+ * its name on its next
+ * AST */
+#define T_NAME_DONE 0x20 /* Thread has previously
+ * recorded its name */
+
+ uint32_t t_chud; /* CHUD flags, used for Shark */
+ uint32_t chud_c_switch; /* last dispatch detection */
+
+ integer_t mutex_count; /* total count of locks held */
+
+ uint64_t thread_id; /*system wide unique thread-id*/
+
+ /* Statistics accumulated per-thread and aggregated per-task */
+ uint32_t syscalls_unix;
+ uint32_t syscalls_mach;
+ ledger_t t_ledger;
+ ledger_t t_threadledger; /* per thread ledger */
+ struct process_policy ext_appliedstate; /* externally applied actions */
+ struct process_policy ext_policystate; /* externally defined process policy states*/
+ struct process_policy appliedstate; /* self applied acions */
+ struct process_policy policystate; /* process wide policy states */
+#if CONFIG_EMBEDDED
+ task_watch_t * taskwatch; /* task watch */
+ integer_t saved_importance; /* saved task-relative importance */
+#endif /* CONFIG_EMBEDDED */