linux/include/trace/events/page_pool.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#undef TRACE_SYSTEM
   3#define TRACE_SYSTEM page_pool
   4
   5#if !defined(_TRACE_PAGE_POOL_H) || defined(TRACE_HEADER_MULTI_READ)
   6#define      _TRACE_PAGE_POOL_H
   7
   8#include <linux/types.h>
   9#include <linux/tracepoint.h>
  10
  11#include <trace/events/mmflags.h>
  12#include <net/page_pool.h>
  13
  14TRACE_EVENT(page_pool_release,
  15
  16        TP_PROTO(const struct page_pool *pool,
  17                 s32 inflight, u32 hold, u32 release),
  18
  19        TP_ARGS(pool, inflight, hold, release),
  20
  21        TP_STRUCT__entry(
  22                __field(const struct page_pool *, pool)
  23                __field(s32,    inflight)
  24                __field(u32,    hold)
  25                __field(u32,    release)
  26                __field(u64,    cnt)
  27        ),
  28
  29        TP_fast_assign(
  30                __entry->pool           = pool;
  31                __entry->inflight       = inflight;
  32                __entry->hold           = hold;
  33                __entry->release        = release;
  34                __entry->cnt            = pool->destroy_cnt;
  35        ),
  36
  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)
  40);
  41
  42TRACE_EVENT(page_pool_state_release,
  43
  44        TP_PROTO(const struct page_pool *pool,
  45                 const struct page *page, u32 release),
  46
  47        TP_ARGS(pool, page, release),
  48
  49        TP_STRUCT__entry(
  50                __field(const struct page_pool *,       pool)
  51                __field(const struct page *,            page)
  52                __field(u32,                            release)
  53                __field(unsigned long,                  pfn)
  54        ),
  55
  56        TP_fast_assign(
  57                __entry->pool           = pool;
  58                __entry->page           = page;
  59                __entry->release        = release;
  60                __entry->pfn            = page_to_pfn(page);
  61        ),
  62
  63        TP_printk("page_pool=%p page=%p pfn=0x%lx release=%u",
  64                  __entry->pool, __entry->page, __entry->pfn, __entry->release)
  65);
  66
  67TRACE_EVENT(page_pool_state_hold,
  68
  69        TP_PROTO(const struct page_pool *pool,
  70                 const struct page *page, u32 hold),
  71
  72        TP_ARGS(pool, page, hold),
  73
  74        TP_STRUCT__entry(
  75                __field(const struct page_pool *,       pool)
  76                __field(const struct page *,            page)
  77                __field(u32,                            hold)
  78                __field(unsigned long,                  pfn)
  79        ),
  80
  81        TP_fast_assign(
  82                __entry->pool   = pool;
  83                __entry->page   = page;
  84                __entry->hold   = hold;
  85                __entry->pfn    = page_to_pfn(page);
  86        ),
  87
  88        TP_printk("page_pool=%p page=%p pfn=0x%lx hold=%u",
  89                  __entry->pool, __entry->page, __entry->pfn, __entry->hold)
  90);
  91
  92TRACE_EVENT(page_pool_update_nid,
  93
  94        TP_PROTO(const struct page_pool *pool, int new_nid),
  95
  96        TP_ARGS(pool, new_nid),
  97
  98        TP_STRUCT__entry(
  99                __field(const struct page_pool *, pool)
 100                __field(int,                      pool_nid)
 101                __field(int,                      new_nid)
 102        ),
 103
 104        TP_fast_assign(
 105                __entry->pool           = pool;
 106                __entry->pool_nid       = pool->p.nid;
 107                __entry->new_nid        = new_nid;
 108        ),
 109
 110        TP_printk("page_pool=%p pool_nid=%d new_nid=%d",
 111                  __entry->pool, __entry->pool_nid, __entry->new_nid)
 112);
 113
 114#endif /* _TRACE_PAGE_POOL_H */
 115
 116/* This part must be outside protection */
 117#include <trace/define_trace.h>
 118