162306a36Sopenharmony_ci#undef TRACE_SYSTEM
262306a36Sopenharmony_ci#define TRACE_SYSTEM hyperv
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#if !defined(_HV_TRACE_BALLOON_H) || defined(TRACE_HEADER_MULTI_READ)
562306a36Sopenharmony_ci#define _HV_TRACE_BALLOON_H
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include <linux/tracepoint.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciTRACE_EVENT(balloon_status,
1062306a36Sopenharmony_ci	    TP_PROTO(u64 available, u64 committed,
1162306a36Sopenharmony_ci		     unsigned long vm_memory_committed,
1262306a36Sopenharmony_ci		     unsigned long pages_ballooned,
1362306a36Sopenharmony_ci		     unsigned long pages_added,
1462306a36Sopenharmony_ci		     unsigned long pages_onlined),
1562306a36Sopenharmony_ci	    TP_ARGS(available, committed, vm_memory_committed,
1662306a36Sopenharmony_ci		    pages_ballooned, pages_added, pages_onlined),
1762306a36Sopenharmony_ci	    TP_STRUCT__entry(
1862306a36Sopenharmony_ci		    __field(u64, available)
1962306a36Sopenharmony_ci		    __field(u64, committed)
2062306a36Sopenharmony_ci		    __field(unsigned long, vm_memory_committed)
2162306a36Sopenharmony_ci		    __field(unsigned long, pages_ballooned)
2262306a36Sopenharmony_ci		    __field(unsigned long, pages_added)
2362306a36Sopenharmony_ci		    __field(unsigned long, pages_onlined)
2462306a36Sopenharmony_ci		    ),
2562306a36Sopenharmony_ci	    TP_fast_assign(
2662306a36Sopenharmony_ci		    __entry->available = available;
2762306a36Sopenharmony_ci		    __entry->committed = committed;
2862306a36Sopenharmony_ci		    __entry->vm_memory_committed = vm_memory_committed;
2962306a36Sopenharmony_ci		    __entry->pages_ballooned = pages_ballooned;
3062306a36Sopenharmony_ci		    __entry->pages_added = pages_added;
3162306a36Sopenharmony_ci		    __entry->pages_onlined = pages_onlined;
3262306a36Sopenharmony_ci		    ),
3362306a36Sopenharmony_ci	    TP_printk("available %lld, committed %lld; vm_memory_committed %ld;"
3462306a36Sopenharmony_ci		      " pages_ballooned %ld, pages_added %ld, pages_onlined %ld",
3562306a36Sopenharmony_ci		      __entry->available, __entry->committed,
3662306a36Sopenharmony_ci		      __entry->vm_memory_committed, __entry->pages_ballooned,
3762306a36Sopenharmony_ci		      __entry->pages_added, __entry->pages_onlined
3862306a36Sopenharmony_ci		    )
3962306a36Sopenharmony_ci	);
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#undef TRACE_INCLUDE_PATH
4262306a36Sopenharmony_ci#define TRACE_INCLUDE_PATH .
4362306a36Sopenharmony_ci#undef TRACE_INCLUDE_FILE
4462306a36Sopenharmony_ci#define TRACE_INCLUDE_FILE hv_trace_balloon
4562306a36Sopenharmony_ci#endif /* _HV_TRACE_BALLOON_H */
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci/* This part must be outside protection */
4862306a36Sopenharmony_ci#include <trace/define_trace.h>
49