123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #undef TRACE_SYSTEM
- #define TRACE_SYSTEM mm_event
- #if !defined(_TRACE_MM_EVENT_H) || defined(TRACE_HEADER_MULTI_READ)
- #define _TRACE_MM_EVENT_H
- #include <linux/types.h>
- #include <linux/tracepoint.h>
- #include <linux/mm.h>
- #include <linux/mm_event.h>
- struct mm_event_task;
- struct mm_event_vmstat;
- #define show_mm_event_type(type) \
- __print_symbolic(type, \
- { MM_MIN_FAULT, "min_flt" }, \
- { MM_MAJ_FAULT, "maj_flt" }, \
- { MM_READ_IO, "read_io" }, \
- { MM_COMPACTION, "compaction" }, \
- { MM_RECLAIM, "reclaim" }, \
- { MM_SWP_FAULT, "swp_flt" }, \
- { MM_KERN_ALLOC, "kern_alloc" })
- TRACE_EVENT(mm_event_record,
- TP_PROTO(enum mm_event_type type, struct mm_event_task *record),
- TP_ARGS(type, record),
- TP_STRUCT__entry(
- __field(enum mm_event_type, type)
- __field(unsigned int, count)
- __field(unsigned int, avg_lat)
- __field(unsigned int, max_lat)
- ),
- TP_fast_assign(
- __entry->type = type;
- __entry->count = record->count;
- __entry->avg_lat = record->accm_lat / record->count;
- __entry->max_lat = record->max_lat;
- ),
- TP_printk("%s count=%d avg_lat=%u max_lat=%u",
- show_mm_event_type(__entry->type),
- __entry->count, __entry->avg_lat,
- __entry->max_lat)
- );
- TRACE_EVENT(mm_event_vmstat_record,
- TP_PROTO(struct mm_event_vmstat *vmstat),
- TP_ARGS(vmstat),
- TP_STRUCT__entry(
- __field(unsigned long, free)
- __field(unsigned long, file)
- __field(unsigned long, anon)
- __field(unsigned long, ion)
- __field(unsigned long, slab)
- __field(unsigned long, ws_refault)
- __field(unsigned long, ws_activate)
- __field(unsigned long, mapped)
- __field(unsigned long, pgin)
- __field(unsigned long, pgout)
- __field(unsigned long, swpin)
- __field(unsigned long, swpout)
- __field(unsigned long, reclaim_steal)
- __field(unsigned long, reclaim_scan)
- __field(unsigned long, compact_scan)
- ),
- TP_fast_assign(
- __entry->free = vmstat->free;
- __entry->file = vmstat->file;
- __entry->anon = vmstat->anon;
- __entry->ion = vmstat->ion;
- __entry->slab = vmstat->slab;
- __entry->ws_refault = vmstat->ws_refault;
- __entry->ws_activate = vmstat->ws_activate;
- __entry->mapped = vmstat->mapped;
- __entry->pgin = vmstat->pgin;
- __entry->pgout = vmstat->pgout;
- __entry->swpin = vmstat->swpin;
- __entry->swpout = vmstat->swpout;
- __entry->reclaim_steal = vmstat->reclaim_steal;
- __entry->reclaim_scan = vmstat->reclaim_scan;
- __entry->compact_scan = vmstat->compact_scan;
- ),
- TP_printk("free=%lu file=%lu anon=%lu ion=%lu slab=%lu ws_refault=%lu "
- "ws_activate=%lu mapped=%lu pgin=%lu pgout=%lu swpin=%lu "
- "swpout=%lu reclaim_steal=%lu reclaim_scan=%lu compact_scan=%lu",
- __entry->free, __entry->file,
- __entry->anon, __entry->ion, __entry->slab,
- __entry->ws_refault, __entry->ws_activate,
- __entry->mapped, __entry->pgin, __entry->pgout,
- __entry->swpin, __entry->swpout,
- __entry->reclaim_steal, __entry->reclaim_scan,
- __entry->compact_scan)
- );
- #endif /* _TRACE_MM_EVENT_H */
- /* This part must be outside protection */
- #include <trace/define_trace.h>
|