Back to home page

OSCL-LXR

 
 

    


0001 #undef TRACE_SYSTEM
0002 #define TRACE_SYSTEM hyperv
0003 
0004 #if !defined(_TRACE_HYPERV_H) || defined(TRACE_HEADER_MULTI_READ)
0005 #define _TRACE_HYPERV_H
0006 
0007 #include <linux/tracepoint.h>
0008 
0009 #if IS_ENABLED(CONFIG_HYPERV)
0010 
0011 TRACE_EVENT(hyperv_mmu_flush_tlb_multi,
0012         TP_PROTO(const struct cpumask *cpus,
0013              const struct flush_tlb_info *info),
0014         TP_ARGS(cpus, info),
0015         TP_STRUCT__entry(
0016             __field(unsigned int, ncpus)
0017             __field(struct mm_struct *, mm)
0018             __field(unsigned long, addr)
0019             __field(unsigned long, end)
0020             ),
0021         TP_fast_assign(__entry->ncpus = cpumask_weight(cpus);
0022                __entry->mm = info->mm;
0023                __entry->addr = info->start;
0024                __entry->end = info->end;
0025             ),
0026         TP_printk("ncpus %d mm %p addr %lx, end %lx",
0027               __entry->ncpus, __entry->mm,
0028               __entry->addr, __entry->end)
0029     );
0030 
0031 TRACE_EVENT(hyperv_nested_flush_guest_mapping,
0032         TP_PROTO(u64 as, int ret),
0033         TP_ARGS(as, ret),
0034 
0035         TP_STRUCT__entry(
0036             __field(u64, as)
0037             __field(int, ret)
0038             ),
0039         TP_fast_assign(__entry->as = as;
0040                __entry->ret = ret;
0041             ),
0042         TP_printk("address space %llx ret %d", __entry->as, __entry->ret)
0043     );
0044 
0045 TRACE_EVENT(hyperv_nested_flush_guest_mapping_range,
0046         TP_PROTO(u64 as, int ret),
0047         TP_ARGS(as, ret),
0048 
0049         TP_STRUCT__entry(
0050             __field(u64, as)
0051             __field(int, ret)
0052             ),
0053         TP_fast_assign(__entry->as = as;
0054                __entry->ret = ret;
0055             ),
0056         TP_printk("address space %llx ret %d", __entry->as, __entry->ret)
0057     );
0058 
0059 TRACE_EVENT(hyperv_send_ipi_mask,
0060         TP_PROTO(const struct cpumask *cpus,
0061              int vector),
0062         TP_ARGS(cpus, vector),
0063         TP_STRUCT__entry(
0064             __field(unsigned int, ncpus)
0065             __field(int, vector)
0066             ),
0067         TP_fast_assign(__entry->ncpus = cpumask_weight(cpus);
0068                __entry->vector = vector;
0069             ),
0070         TP_printk("ncpus %d vector %x",
0071               __entry->ncpus, __entry->vector)
0072     );
0073 
0074 TRACE_EVENT(hyperv_send_ipi_one,
0075         TP_PROTO(int cpu,
0076              int vector),
0077         TP_ARGS(cpu, vector),
0078         TP_STRUCT__entry(
0079             __field(int, cpu)
0080             __field(int, vector)
0081             ),
0082         TP_fast_assign(__entry->cpu = cpu;
0083                __entry->vector = vector;
0084             ),
0085         TP_printk("cpu %d vector %x",
0086               __entry->cpu, __entry->vector)
0087     );
0088 
0089 #endif /* CONFIG_HYPERV */
0090 
0091 #undef TRACE_INCLUDE_PATH
0092 #define TRACE_INCLUDE_PATH asm/trace/
0093 #undef TRACE_INCLUDE_FILE
0094 #define TRACE_INCLUDE_FILE hyperv
0095 #endif /* _TRACE_HYPERV_H */
0096 
0097 /* This part must be outside protection */
0098 #include <trace/define_trace.h>