1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define TRACE_SYSTEM page_pool
5 #if !defined(_TRACE_PAGE_POOL_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_PAGE_POOL_H
8 #include <linux/types.h>
9 #include <linux/tracepoint.h>
11 #include <trace/events/mmflags.h>
12 #include <net/page_pool/types.h>
14 TRACE_EVENT(page_pool_release,
16 TP_PROTO(const struct page_pool *pool,
17 s32 inflight, u32 hold, u32 release),
19 TP_ARGS(pool, inflight, hold, release),
22 __field(const struct page_pool *, pool)
23 __field(s32, inflight)
31 __entry->inflight = inflight;
33 __entry->release = release;
34 __entry->cnt = pool->destroy_cnt;
37 TP_printk("page_pool=%p inflight=%d hold=%u release=%u cnt=%llu",
38 __entry->pool, __entry->inflight, __entry->hold,
39 __entry->release, __entry->cnt)
42 TRACE_EVENT(page_pool_state_release,
44 TP_PROTO(const struct page_pool *pool,
45 const struct page *page, u32 release),
47 TP_ARGS(pool, page, release),
50 __field(const struct page_pool *, pool)
51 __field(const struct page *, page)
53 __field(unsigned long, pfn)
59 __entry->release = release;
60 __entry->pfn = page_to_pfn(page);
63 TP_printk("page_pool=%p page=%p pfn=0x%lx release=%u",
64 __entry->pool, __entry->page, __entry->pfn, __entry->release)
67 TRACE_EVENT(page_pool_state_hold,
69 TP_PROTO(const struct page_pool *pool,
70 const struct page *page, u32 hold),
72 TP_ARGS(pool, page, hold),
75 __field(const struct page_pool *, pool)
76 __field(const struct page *, page)
78 __field(unsigned long, pfn)
85 __entry->pfn = page_to_pfn(page);
88 TP_printk("page_pool=%p page=%p pfn=0x%lx hold=%u",
89 __entry->pool, __entry->page, __entry->pfn, __entry->hold)
92 TRACE_EVENT(page_pool_update_nid,
94 TP_PROTO(const struct page_pool *pool, int new_nid),
96 TP_ARGS(pool, new_nid),
99 __field(const struct page_pool *, pool)
100 __field(int, pool_nid)
101 __field(int, new_nid)
105 __entry->pool = pool;
106 __entry->pool_nid = pool->p.nid;
107 __entry->new_nid = new_nid;
110 TP_printk("page_pool=%p pool_nid=%d new_nid=%d",
111 __entry->pool, __entry->pool_nid, __entry->new_nid)
114 #endif /* _TRACE_PAGE_POOL_H */
116 /* This part must be outside protection */
117 #include <trace/define_trace.h>