linux/arch/x86/include/asm/trace/hyperv.h
<<
>>
Prefs
   1#undef TRACE_SYSTEM
   2#define TRACE_SYSTEM hyperv
   3
   4#if !defined(_TRACE_HYPERV_H) || defined(TRACE_HEADER_MULTI_READ)
   5#define _TRACE_HYPERV_H
   6
   7#include <linux/tracepoint.h>
   8
   9#if IS_ENABLED(CONFIG_HYPERV)
  10
  11TRACE_EVENT(hyperv_mmu_flush_tlb_multi,
  12            TP_PROTO(const struct cpumask *cpus,
  13                     const struct flush_tlb_info *info),
  14            TP_ARGS(cpus, info),
  15            TP_STRUCT__entry(
  16                    __field(unsigned int, ncpus)
  17                    __field(struct mm_struct *, mm)
  18                    __field(unsigned long, addr)
  19                    __field(unsigned long, end)
  20                    ),
  21            TP_fast_assign(__entry->ncpus = cpumask_weight(cpus);
  22                           __entry->mm = info->mm;
  23                           __entry->addr = info->start;
  24                           __entry->end = info->end;
  25                    ),
  26            TP_printk("ncpus %d mm %p addr %lx, end %lx",
  27                      __entry->ncpus, __entry->mm,
  28                      __entry->addr, __entry->end)
  29        );
  30
  31TRACE_EVENT(hyperv_nested_flush_guest_mapping,
  32            TP_PROTO(u64 as, int ret),
  33            TP_ARGS(as, ret),
  34
  35            TP_STRUCT__entry(
  36                    __field(u64, as)
  37                    __field(int, ret)
  38                    ),
  39            TP_fast_assign(__entry->as = as;
  40                           __entry->ret = ret;
  41                    ),
  42            TP_printk("address space %llx ret %d", __entry->as, __entry->ret)
  43        );
  44
  45TRACE_EVENT(hyperv_nested_flush_guest_mapping_range,
  46            TP_PROTO(u64 as, int ret),
  47            TP_ARGS(as, ret),
  48
  49            TP_STRUCT__entry(
  50                    __field(u64, as)
  51                    __field(int, ret)
  52                    ),
  53            TP_fast_assign(__entry->as = as;
  54                           __entry->ret = ret;
  55                    ),
  56            TP_printk("address space %llx ret %d", __entry->as, __entry->ret)
  57        );
  58
  59TRACE_EVENT(hyperv_send_ipi_mask,
  60            TP_PROTO(const struct cpumask *cpus,
  61                     int vector),
  62            TP_ARGS(cpus, vector),
  63            TP_STRUCT__entry(
  64                    __field(unsigned int, ncpus)
  65                    __field(int, vector)
  66                    ),
  67            TP_fast_assign(__entry->ncpus = cpumask_weight(cpus);
  68                           __entry->vector = vector;
  69                    ),
  70            TP_printk("ncpus %d vector %x",
  71                      __entry->ncpus, __entry->vector)
  72        );
  73
  74TRACE_EVENT(hyperv_send_ipi_one,
  75            TP_PROTO(int cpu,
  76                     int vector),
  77            TP_ARGS(cpu, vector),
  78            TP_STRUCT__entry(
  79                    __field(int, cpu)
  80                    __field(int, vector)
  81                    ),
  82            TP_fast_assign(__entry->cpu = cpu;
  83                           __entry->vector = vector;
  84                    ),
  85            TP_printk("cpu %d vector %x",
  86                      __entry->cpu, __entry->vector)
  87        );
  88
  89#endif /* CONFIG_HYPERV */
  90
  91#undef TRACE_INCLUDE_PATH
  92#define TRACE_INCLUDE_PATH asm/trace/
  93#undef TRACE_INCLUDE_FILE
  94#define TRACE_INCLUDE_FILE hyperv
  95#endif /* _TRACE_HYPERV_H */
  96
  97/* This part must be outside protection */
  98#include <trace/define_trace.h>
  99