1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #undef TRACE_SYSTEM 3*4882a593Smuzhiyun #define TRACE_SYSTEM damon 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #if !defined(_TRACE_DAMON_H) || defined(TRACE_HEADER_MULTI_READ) 6*4882a593Smuzhiyun #define _TRACE_DAMON_H 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include <linux/damon.h> 9*4882a593Smuzhiyun #include <linux/types.h> 10*4882a593Smuzhiyun #include <linux/tracepoint.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun TRACE_EVENT(damon_aggregated, 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun TP_PROTO(struct damon_target *t, unsigned int target_id, 15*4882a593Smuzhiyun struct damon_region *r, unsigned int nr_regions), 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun TP_ARGS(t, target_id, r, nr_regions), 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun TP_STRUCT__entry( 20*4882a593Smuzhiyun __field(unsigned long, target_id) 21*4882a593Smuzhiyun __field(unsigned int, nr_regions) 22*4882a593Smuzhiyun __field(unsigned long, start) 23*4882a593Smuzhiyun __field(unsigned long, end) 24*4882a593Smuzhiyun __field(unsigned int, nr_accesses) 25*4882a593Smuzhiyun __field(unsigned int, age) 26*4882a593Smuzhiyun ), 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun TP_fast_assign( 29*4882a593Smuzhiyun __entry->target_id = target_id; 30*4882a593Smuzhiyun __entry->nr_regions = nr_regions; 31*4882a593Smuzhiyun __entry->start = r->ar.start; 32*4882a593Smuzhiyun __entry->end = r->ar.end; 33*4882a593Smuzhiyun __entry->nr_accesses = r->nr_accesses; 34*4882a593Smuzhiyun __entry->age = r->age; 35*4882a593Smuzhiyun ), 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun TP_printk("target_id=%lu nr_regions=%u %lu-%lu: %u %u", 38*4882a593Smuzhiyun __entry->target_id, __entry->nr_regions, 39*4882a593Smuzhiyun __entry->start, __entry->end, 40*4882a593Smuzhiyun __entry->nr_accesses, __entry->age) 41*4882a593Smuzhiyun ); 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun #endif /* _TRACE_DAMON_H */ 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /* This part must be outside protection */ 46*4882a593Smuzhiyun #include <trace/define_trace.h> 47