blob: f31bc63ca65d364796617d4ab1d2d26fd806b0a3 [file] [log] [blame]
Ajay Dudani8e0b3252012-10-16 16:14:48 -07001#undef TRACE_SYSTEM
2#define TRACE_SYSTEM sync
3
4#if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_SYNC_H
6
7#include <linux/sync.h>
8#include <linux/tracepoint.h>
9
10TRACE_EVENT(sync_timeline,
11 TP_PROTO(struct sync_timeline *timeline),
12
13 TP_ARGS(timeline),
14
15 TP_STRUCT__entry(
16 __string(name, timeline->name)
17 __array(char, value, 32)
18 ),
19
20 TP_fast_assign(
21 __assign_str(name, timeline->name);
22 if (timeline->ops->timeline_value_str) {
23 timeline->ops->timeline_value_str(timeline,
24 __entry->value,
25 sizeof(__entry->value));
26 } else {
27 __entry->value[0] = '\0';
28 }
29 ),
30
31 TP_printk("name=%s value=%s", __get_str(name), __entry->value)
32);
33
34TRACE_EVENT(sync_wait,
35 TP_PROTO(struct sync_fence *fence, int begin),
36
37 TP_ARGS(fence, begin),
38
39 TP_STRUCT__entry(
40 __string(name, fence->name)
41 __field(s32, status)
42 __field(u32, begin)
43 ),
44
45 TP_fast_assign(
46 __assign_str(name, fence->name);
47 __entry->status = fence->status;
48 __entry->begin = begin;
49 ),
50
51 TP_printk("%s name=%s state=%d", __entry->begin ? "begin" : "end",
52 __get_str(name), __entry->status)
53);
54
55TRACE_EVENT(sync_pt,
56 TP_PROTO(struct sync_pt *pt),
57
58 TP_ARGS(pt),
59
60 TP_STRUCT__entry(
61 __string(timeline, pt->parent->name)
62 __array(char, value, 32)
63 ),
64
65 TP_fast_assign(
66 __assign_str(timeline, pt->parent->name);
67 if (pt->parent->ops->pt_value_str) {
68 pt->parent->ops->pt_value_str(pt,
69 __entry->value,
70 sizeof(__entry->value));
71 } else {
72 __entry->value[0] = '\0';
73 }
74 ),
75
76 TP_printk("name=%s value=%s", __get_str(timeline), __entry->value)
77 );
78
79#endif /* if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ) */
80
81/* This part must be outside protection */
82#include <trace/define_trace.h>