1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM hyperv
3 
4 #if !defined(_HV_TRACE_BALLOON_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _HV_TRACE_BALLOON_H
6 
7 #include <linux/tracepoint.h>
8 
9 TRACE_EVENT(balloon_status,
10 	    TP_PROTO(u64 available, u64 committed,
11 		     unsigned long vm_memory_committed,
12 		     unsigned long pages_ballooned,
13 		     unsigned long pages_added,
14 		     unsigned long pages_onlined),
15 	    TP_ARGS(available, committed, vm_memory_committed,
16 		    pages_ballooned, pages_added, pages_onlined),
17 	    TP_STRUCT__entry(
18 		    __field(u64, available)
19 		    __field(u64, committed)
20 		    __field(unsigned long, vm_memory_committed)
21 		    __field(unsigned long, pages_ballooned)
22 		    __field(unsigned long, pages_added)
23 		    __field(unsigned long, pages_onlined)
24 		    ),
25 	    TP_fast_assign(
26 		    __entry->available = available;
27 		    __entry->committed = committed;
28 		    __entry->vm_memory_committed = vm_memory_committed;
29 		    __entry->pages_ballooned = pages_ballooned;
30 		    __entry->pages_added = pages_added;
31 		    __entry->pages_onlined = pages_onlined;
32 		    ),
33 	    TP_printk("available %lld, committed %lld; vm_memory_committed %ld;"
34 		      " pages_ballooned %ld, pages_added %ld, pages_onlined %ld",
35 		      __entry->available, __entry->committed,
36 		      __entry->vm_memory_committed, __entry->pages_ballooned,
37 		      __entry->pages_added, __entry->pages_onlined
38 		    )
39 	);
40 
41 #undef TRACE_INCLUDE_PATH
42 #define TRACE_INCLUDE_PATH .
43 #undef TRACE_INCLUDE_FILE
44 #define TRACE_INCLUDE_FILE hv_trace_balloon
45 #endif /* _HV_TRACE_BALLOON_H */
46 
47 /* This part must be outside protection */
48 #include <trace/define_trace.h>
49