xref: /openbmc/linux/include/trace/events/page_pool.h (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
132c28f7eSJesper Dangaard Brouer /* SPDX-License-Identifier: GPL-2.0 */
232c28f7eSJesper Dangaard Brouer #undef TRACE_SYSTEM
332c28f7eSJesper Dangaard Brouer #define TRACE_SYSTEM page_pool
432c28f7eSJesper Dangaard Brouer 
532c28f7eSJesper Dangaard Brouer #if !defined(_TRACE_PAGE_POOL_H) || defined(TRACE_HEADER_MULTI_READ)
632c28f7eSJesper Dangaard Brouer #define      _TRACE_PAGE_POOL_H
732c28f7eSJesper Dangaard Brouer 
832c28f7eSJesper Dangaard Brouer #include <linux/types.h>
932c28f7eSJesper Dangaard Brouer #include <linux/tracepoint.h>
1032c28f7eSJesper Dangaard Brouer 
11832ccf6fSJesper Dangaard Brouer #include <trace/events/mmflags.h>
12*a9ca9f9cSYunsheng Lin #include <net/page_pool/types.h>
1332c28f7eSJesper Dangaard Brouer 
147c9e6942SJesper Dangaard Brouer TRACE_EVENT(page_pool_release,
1532c28f7eSJesper Dangaard Brouer 
1632c28f7eSJesper Dangaard Brouer 	TP_PROTO(const struct page_pool *pool,
1732c28f7eSJesper Dangaard Brouer 		 s32 inflight, u32 hold, u32 release),
1832c28f7eSJesper Dangaard Brouer 
1932c28f7eSJesper Dangaard Brouer 	TP_ARGS(pool, inflight, hold, release),
2032c28f7eSJesper Dangaard Brouer 
2132c28f7eSJesper Dangaard Brouer 	TP_STRUCT__entry(
2232c28f7eSJesper Dangaard Brouer 		__field(const struct page_pool *, pool)
2332c28f7eSJesper Dangaard Brouer 		__field(s32,	inflight)
2432c28f7eSJesper Dangaard Brouer 		__field(u32,	hold)
2532c28f7eSJesper Dangaard Brouer 		__field(u32,	release)
267c9e6942SJesper Dangaard Brouer 		__field(u64,	cnt)
2732c28f7eSJesper Dangaard Brouer 	),
2832c28f7eSJesper Dangaard Brouer 
2932c28f7eSJesper Dangaard Brouer 	TP_fast_assign(
3032c28f7eSJesper Dangaard Brouer 		__entry->pool		= pool;
3132c28f7eSJesper Dangaard Brouer 		__entry->inflight	= inflight;
3232c28f7eSJesper Dangaard Brouer 		__entry->hold		= hold;
3332c28f7eSJesper Dangaard Brouer 		__entry->release	= release;
347c9e6942SJesper Dangaard Brouer 		__entry->cnt		= pool->destroy_cnt;
3532c28f7eSJesper Dangaard Brouer 	),
3632c28f7eSJesper Dangaard Brouer 
377c9e6942SJesper Dangaard Brouer 	TP_printk("page_pool=%p inflight=%d hold=%u release=%u cnt=%llu",
387c9e6942SJesper Dangaard Brouer 		__entry->pool, __entry->inflight, __entry->hold,
397c9e6942SJesper Dangaard Brouer 		__entry->release, __entry->cnt)
4032c28f7eSJesper Dangaard Brouer );
4132c28f7eSJesper Dangaard Brouer 
4232c28f7eSJesper Dangaard Brouer TRACE_EVENT(page_pool_state_release,
4332c28f7eSJesper Dangaard Brouer 
4432c28f7eSJesper Dangaard Brouer 	TP_PROTO(const struct page_pool *pool,
4532c28f7eSJesper Dangaard Brouer 		 const struct page *page, u32 release),
4632c28f7eSJesper Dangaard Brouer 
4732c28f7eSJesper Dangaard Brouer 	TP_ARGS(pool, page, release),
4832c28f7eSJesper Dangaard Brouer 
4932c28f7eSJesper Dangaard Brouer 	TP_STRUCT__entry(
5032c28f7eSJesper Dangaard Brouer 		__field(const struct page_pool *,	pool)
5132c28f7eSJesper Dangaard Brouer 		__field(const struct page *,		page)
5232c28f7eSJesper Dangaard Brouer 		__field(u32,				release)
53832ccf6fSJesper Dangaard Brouer 		__field(unsigned long,			pfn)
5432c28f7eSJesper Dangaard Brouer 	),
5532c28f7eSJesper Dangaard Brouer 
5632c28f7eSJesper Dangaard Brouer 	TP_fast_assign(
5732c28f7eSJesper Dangaard Brouer 		__entry->pool		= pool;
5832c28f7eSJesper Dangaard Brouer 		__entry->page		= page;
5932c28f7eSJesper Dangaard Brouer 		__entry->release	= release;
60832ccf6fSJesper Dangaard Brouer 		__entry->pfn		= page_to_pfn(page);
6132c28f7eSJesper Dangaard Brouer 	),
6232c28f7eSJesper Dangaard Brouer 
6353d884a6SVincent Whitchurch 	TP_printk("page_pool=%p page=%p pfn=0x%lx release=%u",
64832ccf6fSJesper Dangaard Brouer 		  __entry->pool, __entry->page, __entry->pfn, __entry->release)
6532c28f7eSJesper Dangaard Brouer );
6632c28f7eSJesper Dangaard Brouer 
6732c28f7eSJesper Dangaard Brouer TRACE_EVENT(page_pool_state_hold,
6832c28f7eSJesper Dangaard Brouer 
6932c28f7eSJesper Dangaard Brouer 	TP_PROTO(const struct page_pool *pool,
7032c28f7eSJesper Dangaard Brouer 		 const struct page *page, u32 hold),
7132c28f7eSJesper Dangaard Brouer 
7232c28f7eSJesper Dangaard Brouer 	TP_ARGS(pool, page, hold),
7332c28f7eSJesper Dangaard Brouer 
7432c28f7eSJesper Dangaard Brouer 	TP_STRUCT__entry(
7532c28f7eSJesper Dangaard Brouer 		__field(const struct page_pool *,	pool)
7632c28f7eSJesper Dangaard Brouer 		__field(const struct page *,		page)
7732c28f7eSJesper Dangaard Brouer 		__field(u32,				hold)
78832ccf6fSJesper Dangaard Brouer 		__field(unsigned long,			pfn)
7932c28f7eSJesper Dangaard Brouer 	),
8032c28f7eSJesper Dangaard Brouer 
8132c28f7eSJesper Dangaard Brouer 	TP_fast_assign(
8232c28f7eSJesper Dangaard Brouer 		__entry->pool	= pool;
8332c28f7eSJesper Dangaard Brouer 		__entry->page	= page;
8432c28f7eSJesper Dangaard Brouer 		__entry->hold	= hold;
85832ccf6fSJesper Dangaard Brouer 		__entry->pfn	= page_to_pfn(page);
8632c28f7eSJesper Dangaard Brouer 	),
8732c28f7eSJesper Dangaard Brouer 
8853d884a6SVincent Whitchurch 	TP_printk("page_pool=%p page=%p pfn=0x%lx hold=%u",
89832ccf6fSJesper Dangaard Brouer 		  __entry->pool, __entry->page, __entry->pfn, __entry->hold)
9032c28f7eSJesper Dangaard Brouer );
9132c28f7eSJesper Dangaard Brouer 
92bc836748SSaeed Mahameed TRACE_EVENT(page_pool_update_nid,
93bc836748SSaeed Mahameed 
94bc836748SSaeed Mahameed 	TP_PROTO(const struct page_pool *pool, int new_nid),
95bc836748SSaeed Mahameed 
96bc836748SSaeed Mahameed 	TP_ARGS(pool, new_nid),
97bc836748SSaeed Mahameed 
98bc836748SSaeed Mahameed 	TP_STRUCT__entry(
99bc836748SSaeed Mahameed 		__field(const struct page_pool *, pool)
100bc836748SSaeed Mahameed 		__field(int,			  pool_nid)
101bc836748SSaeed Mahameed 		__field(int,			  new_nid)
102bc836748SSaeed Mahameed 	),
103bc836748SSaeed Mahameed 
104bc836748SSaeed Mahameed 	TP_fast_assign(
105bc836748SSaeed Mahameed 		__entry->pool		= pool;
106bc836748SSaeed Mahameed 		__entry->pool_nid	= pool->p.nid;
107bc836748SSaeed Mahameed 		__entry->new_nid	= new_nid;
108bc836748SSaeed Mahameed 	),
109bc836748SSaeed Mahameed 
110bc836748SSaeed Mahameed 	TP_printk("page_pool=%p pool_nid=%d new_nid=%d",
111bc836748SSaeed Mahameed 		  __entry->pool, __entry->pool_nid, __entry->new_nid)
112bc836748SSaeed Mahameed );
113bc836748SSaeed Mahameed 
11432c28f7eSJesper Dangaard Brouer #endif /* _TRACE_PAGE_POOL_H */
11532c28f7eSJesper Dangaard Brouer 
11632c28f7eSJesper Dangaard Brouer /* This part must be outside protection */
11732c28f7eSJesper Dangaard Brouer #include <trace/define_trace.h>
118