summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCarsten Emde <C.Emde@osadl.org>2010-02-24 07:49:31 +0100
committerThomas Gleixner <tglx@linutronix.de>2010-02-24 12:10:52 +0100
commit2022ce18f08a62593979bd3875111ee010b57d43 (patch)
tree0abe39b76b2de493ef68540ad59047472268727a /include
parenta359d62fa46b9c41621fec1c3b31730cfc436b40 (diff)
downloadlwn-2022ce18f08a62593979bd3875111ee010b57d43.tar.gz
lwn-2022ce18f08a62593979bd3875111ee010b57d43.zip
tracing: Fix the merge fallout from 31-rt to 33
Apply upgrade changes from 2.6.31 to the histograms. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/linux/sched.h3
-rw-r--r--include/trace/events/hist.h36
2 files changed, 37 insertions, 2 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 64cf01a3cd0f..9a9f376c4f44 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1615,6 +1615,9 @@ struct task_struct {
unsigned long trace;
/* bitmask of trace recursion */
unsigned long trace_recursion;
+#ifdef CONFIG_WAKEUP_LATENCY_HIST
+ u64 preempt_timestamp_hist;
+#endif
#endif /* CONFIG_TRACING */
unsigned long stack_start;
#ifdef CONFIG_CGROUP_MEM_RES_CTLR /* memcg uses this to do batch job */
diff --git a/include/trace/events/hist.h b/include/trace/events/hist.h
index 73b0454eb90f..28646db2c775 100644
--- a/include/trace/events/hist.h
+++ b/include/trace/events/hist.h
@@ -17,8 +17,8 @@ TRACE_EVENT(preemptirqsoff_hist,
TP_ARGS(reason, starthist),
TP_STRUCT__entry(
- __field( int, reason )
- __field( int, starthist )
+ __field(int, reason )
+ __field(int, starthist )
),
TP_fast_assign(
@@ -31,6 +31,38 @@ TRACE_EVENT(preemptirqsoff_hist,
);
#endif
+#ifndef CONFIG_MISSED_TIMER_OFFSETS_HIST
+#define trace_hrtimer_interrupt(a,b,c,d)
+#else
+TRACE_EVENT(hrtimer_interrupt,
+
+ TP_PROTO(int cpu, long long offset, struct task_struct *curr, struct task_struct *task),
+
+ TP_ARGS(cpu, offset, curr, task),
+
+ TP_STRUCT__entry(
+ __field(int, cpu )
+ __field(long long, offset )
+ __array(char, ccomm, TASK_COMM_LEN)
+ __field(int, cprio )
+ __array(char, tcomm, TASK_COMM_LEN)
+ __field(int, tprio )
+ ),
+
+ TP_fast_assign(
+ __entry->cpu = cpu;
+ __entry->offset = offset;
+ memcpy(__entry->ccomm, curr->comm, TASK_COMM_LEN);
+ __entry->cprio = curr->prio;
+ memcpy(__entry->tcomm, task != NULL ? task->comm : "<none>", task != NULL ? TASK_COMM_LEN : 7);
+ __entry->tprio = task != NULL ? task->prio : -1;
+ ),
+
+ TP_printk("cpu=%d offset=%lld curr=%s[%d] thread=%s[%d]",
+ __entry->cpu, __entry->offset, __entry->ccomm, __entry->cprio, __entry->tcomm, __entry->tprio)
+);
+#endif
+
#endif /* _TRACE_HIST_H */
/* This part must be outside protection */