]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - include/trace/events/page_pool.h
page_pool: Add API to update numa node
[linux.git] / include / trace / events / page_pool.h
index 47b5ee880aa9fe2c1da42bb9a664570bed455596..ad0aa7f316755005067308363131d492a0194eb3 100644 (file)
@@ -8,9 +8,10 @@
 #include <linux/types.h>
 #include <linux/tracepoint.h>
 
+#include <trace/events/mmflags.h>
 #include <net/page_pool.h>
 
-TRACE_EVENT(page_pool_inflight,
+TRACE_EVENT(page_pool_release,
 
        TP_PROTO(const struct page_pool *pool,
                 s32 inflight, u32 hold, u32 release),
@@ -22,6 +23,7 @@ TRACE_EVENT(page_pool_inflight,
                __field(s32,    inflight)
                __field(u32,    hold)
                __field(u32,    release)
+               __field(u64,    cnt)
        ),
 
        TP_fast_assign(
@@ -29,10 +31,12 @@ TRACE_EVENT(page_pool_inflight,
                __entry->inflight       = inflight;
                __entry->hold           = hold;
                __entry->release        = release;
+               __entry->cnt            = pool->destroy_cnt;
        ),
 
-       TP_printk("page_pool=%p inflight=%d hold=%u release=%u",
-         __entry->pool, __entry->inflight, __entry->hold, __entry->release)
+       TP_printk("page_pool=%p inflight=%d hold=%u release=%u cnt=%llu",
+               __entry->pool, __entry->inflight, __entry->hold,
+               __entry->release, __entry->cnt)
 );
 
 TRACE_EVENT(page_pool_state_release,
@@ -46,16 +50,18 @@ TRACE_EVENT(page_pool_state_release,
                __field(const struct page_pool *,       pool)
                __field(const struct page *,            page)
                __field(u32,                            release)
+               __field(unsigned long,                  pfn)
        ),
 
        TP_fast_assign(
                __entry->pool           = pool;
                __entry->page           = page;
                __entry->release        = release;
+               __entry->pfn            = page_to_pfn(page);
        ),
 
-       TP_printk("page_pool=%p page=%p release=%u",
-                 __entry->pool, __entry->page, __entry->release)
+       TP_printk("page_pool=%p page=%p pfn=%lu release=%u",
+                 __entry->pool, __entry->page, __entry->pfn, __entry->release)
 );
 
 TRACE_EVENT(page_pool_state_hold,
@@ -69,16 +75,40 @@ TRACE_EVENT(page_pool_state_hold,
                __field(const struct page_pool *,       pool)
                __field(const struct page *,            page)
                __field(u32,                            hold)
+               __field(unsigned long,                  pfn)
        ),
 
        TP_fast_assign(
                __entry->pool   = pool;
                __entry->page   = page;
                __entry->hold   = hold;
+               __entry->pfn    = page_to_pfn(page);
        ),
 
-       TP_printk("page_pool=%p page=%p hold=%u",
-                 __entry->pool, __entry->page, __entry->hold)
+       TP_printk("page_pool=%p page=%p pfn=%lu hold=%u",
+                 __entry->pool, __entry->page, __entry->pfn, __entry->hold)
+);
+
+TRACE_EVENT(page_pool_update_nid,
+
+       TP_PROTO(const struct page_pool *pool, int new_nid),
+
+       TP_ARGS(pool, new_nid),
+
+       TP_STRUCT__entry(
+               __field(const struct page_pool *, pool)
+               __field(int,                      pool_nid)
+               __field(int,                      new_nid)
+       ),
+
+       TP_fast_assign(
+               __entry->pool           = pool;
+               __entry->pool_nid       = pool->p.nid;
+               __entry->new_nid        = new_nid;
+       ),
+
+       TP_printk("page_pool=%p pool_nid=%d new_nid=%d",
+                 __entry->pool, __entry->pool_nid, __entry->new_nid)
 );
 
 #endif /* _TRACE_PAGE_POOL_H */