18c2ecf20Sopenharmony_ci#undef TRACE_SYSTEM
28c2ecf20Sopenharmony_ci#define TRACE_SYSTEM hyperv
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#if !defined(_HV_TRACE_BALLOON_H) || defined(TRACE_HEADER_MULTI_READ)
58c2ecf20Sopenharmony_ci#define _HV_TRACE_BALLOON_H
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#include <linux/tracepoint.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciTRACE_EVENT(balloon_status,
108c2ecf20Sopenharmony_ci	    TP_PROTO(u64 available, u64 committed,
118c2ecf20Sopenharmony_ci		     unsigned long vm_memory_committed,
128c2ecf20Sopenharmony_ci		     unsigned long pages_ballooned,
138c2ecf20Sopenharmony_ci		     unsigned long pages_added,
148c2ecf20Sopenharmony_ci		     unsigned long pages_onlined),
158c2ecf20Sopenharmony_ci	    TP_ARGS(available, committed, vm_memory_committed,
168c2ecf20Sopenharmony_ci		    pages_ballooned, pages_added, pages_onlined),
178c2ecf20Sopenharmony_ci	    TP_STRUCT__entry(
188c2ecf20Sopenharmony_ci		    __field(u64, available)
198c2ecf20Sopenharmony_ci		    __field(u64, committed)
208c2ecf20Sopenharmony_ci		    __field(unsigned long, vm_memory_committed)
218c2ecf20Sopenharmony_ci		    __field(unsigned long, pages_ballooned)
228c2ecf20Sopenharmony_ci		    __field(unsigned long, pages_added)
238c2ecf20Sopenharmony_ci		    __field(unsigned long, pages_onlined)
248c2ecf20Sopenharmony_ci		    ),
258c2ecf20Sopenharmony_ci	    TP_fast_assign(
268c2ecf20Sopenharmony_ci		    __entry->available = available;
278c2ecf20Sopenharmony_ci		    __entry->committed = committed;
288c2ecf20Sopenharmony_ci		    __entry->vm_memory_committed = vm_memory_committed;
298c2ecf20Sopenharmony_ci		    __entry->pages_ballooned = pages_ballooned;
308c2ecf20Sopenharmony_ci		    __entry->pages_added = pages_added;
318c2ecf20Sopenharmony_ci		    __entry->pages_onlined = pages_onlined;
328c2ecf20Sopenharmony_ci		    ),
338c2ecf20Sopenharmony_ci	    TP_printk("available %lld, committed %lld; vm_memory_committed %ld;"
348c2ecf20Sopenharmony_ci		      " pages_ballooned %ld, pages_added %ld, pages_onlined %ld",
358c2ecf20Sopenharmony_ci		      __entry->available, __entry->committed,
368c2ecf20Sopenharmony_ci		      __entry->vm_memory_committed, __entry->pages_ballooned,
378c2ecf20Sopenharmony_ci		      __entry->pages_added, __entry->pages_onlined
388c2ecf20Sopenharmony_ci		    )
398c2ecf20Sopenharmony_ci	);
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci#undef TRACE_INCLUDE_PATH
428c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_PATH .
438c2ecf20Sopenharmony_ci#undef TRACE_INCLUDE_FILE
448c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_FILE hv_trace_balloon
458c2ecf20Sopenharmony_ci#endif /* _HV_TRACE_BALLOON_H */
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci/* This part must be outside protection */
488c2ecf20Sopenharmony_ci#include <trace/define_trace.h>
49