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
9TRACE_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