Update kernel probes to more detailed match to kernel versions
[lttng-modules.git] / instrumentation / events / lttng-module / kmem.h
index 04f668b0ac75e7db7d8180a3d010c9808e529a26..baf4176aa1192ed0f46b48a25390f356158a5e17 100644 (file)
@@ -4,6 +4,13 @@
 #if !defined(_TRACE_KMEM_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_KMEM_H
 
+#include <linux/types.h>
+#include <linux/tracepoint.h>
+#include <linux/version.h>
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
+#include <trace/events/gfpflags.h>
+#endif
+
 DECLARE_EVENT_CLASS(kmem_alloc,
 
        TP_PROTO(unsigned long call_site,
@@ -23,11 +30,11 @@ DECLARE_EVENT_CLASS(kmem_alloc,
        ),
 
        TP_fast_assign(
-               tp_assign(call_site, call_site);
-               tp_assign(ptr, ptr);
-               tp_assign(bytes_req, bytes_req);
-               tp_assign(bytes_alloc, bytes_alloc);
-               tp_assign(gfp_flags, gfp_flags);
+               tp_assign(call_site, call_site)
+               tp_assign(ptr, ptr)
+               tp_assign(bytes_req, bytes_req)
+               tp_assign(bytes_alloc, bytes_alloc)
+               tp_assign(gfp_flags, gfp_flags)
        ),
 
        TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s",
@@ -75,12 +82,12 @@ DECLARE_EVENT_CLASS(kmem_alloc_node,
        ),
 
        TP_fast_assign(
-               tp_assign(call_site, call_site);
-               tp_assign(ptr, ptr);
-               tp_assign(bytes_req, bytes_req);
-               tp_assign(bytes_alloc, bytes_alloc);
-               tp_assign(gfp_flags, gfp_flags);
-               tp_assign(node, node);
+               tp_assign(call_site, call_site)
+               tp_assign(ptr, ptr)
+               tp_assign(bytes_req, bytes_req)
+               tp_assign(bytes_alloc, bytes_alloc)
+               tp_assign(gfp_flags, gfp_flags)
+               tp_assign(node, node)
        ),
 
        TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s node=%d",
@@ -122,8 +129,8 @@ DECLARE_EVENT_CLASS(kmem_free,
        ),
 
        TP_fast_assign(
-               tp_assign(call_site, call_site);
-               tp_assign(ptr, ptr);
+               tp_assign(call_site, call_site)
+               tp_assign(ptr, ptr)
        ),
 
        TP_printk("call_site=%lx ptr=%p", __entry->call_site, __entry->ptr)
@@ -143,7 +150,12 @@ DEFINE_EVENT(kmem_free, kmem_cache_free,
        TP_ARGS(call_site, ptr)
 )
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+TRACE_EVENT(mm_page_free,
+#else
 TRACE_EVENT(mm_page_free_direct,
+#endif
 
        TP_PROTO(struct page *page, unsigned int order),
 
@@ -155,8 +167,8 @@ TRACE_EVENT(mm_page_free_direct,
        ),
 
        TP_fast_assign(
-               tp_assign(page, page);
-               tp_assign(order, order);
+               tp_assign(page, page)
+               tp_assign(order, order)
        ),
 
        TP_printk("page=%p pfn=%lu order=%d",
@@ -165,7 +177,11 @@ TRACE_EVENT(mm_page_free_direct,
                        __entry->order)
 )
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+TRACE_EVENT(mm_page_free_batched,
+#else
 TRACE_EVENT(mm_pagevec_free,
+#endif
 
        TP_PROTO(struct page *page, int cold),
 
@@ -177,8 +193,8 @@ TRACE_EVENT(mm_pagevec_free,
        ),
 
        TP_fast_assign(
-               tp_assign(page, page);
-               tp_assign(cold, cold);
+               tp_assign(page, page)
+               tp_assign(cold, cold)
        ),
 
        TP_printk("page=%p pfn=%lu order=0 cold=%d",
@@ -202,15 +218,15 @@ TRACE_EVENT(mm_page_alloc,
        ),
 
        TP_fast_assign(
-               tp_assign(page, page);
-               tp_assign(order, order);
-               tp_assign(gfp_flags, gfp_flags);
-               tp_assign(migratetype, migratetype);
+               tp_assign(page, page)
+               tp_assign(order, order)
+               tp_assign(gfp_flags, gfp_flags)
+               tp_assign(migratetype, migratetype)
        ),
 
        TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s",
                __entry->page,
-               page_to_pfn(__entry->page),
+               __entry->page ? page_to_pfn(__entry->page) : 0,
                __entry->order,
                __entry->migratetype,
                show_gfp_flags(__entry->gfp_flags))
@@ -229,14 +245,14 @@ DECLARE_EVENT_CLASS(mm_page,
        ),
 
        TP_fast_assign(
-               tp_assign(page, page);
-               tp_assign(order, order);
-               tp_assign(migratetype, migratetype);
+               tp_assign(page, page)
+               tp_assign(order, order)
+               tp_assign(migratetype, migratetype)
        ),
 
        TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d",
                __entry->page,
-               page_to_pfn(__entry->page),
+               __entry->page ? page_to_pfn(__entry->page) : 0,
                __entry->order,
                __entry->migratetype,
                __entry->order == 0)
@@ -251,7 +267,11 @@ DEFINE_EVENT(mm_page, mm_page_alloc_zone_locked,
 
 DEFINE_EVENT_PRINT(mm_page, mm_page_pcpu_drain,
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
        TP_PROTO(struct page *page, unsigned int order, int migratetype),
+#else
+       TP_PROTO(struct page *page, int order, int migratetype),
+#endif
 
        TP_ARGS(page, order, migratetype),
 
@@ -279,11 +299,11 @@ TRACE_EVENT(mm_page_alloc_extfrag,
        ),
 
        TP_fast_assign(
-               tp_assign(page, page);
-               tp_assign(alloc_order, alloc_order);
-               tp_assign(fallback_order, fallback_order);
-               tp_assign(alloc_migratetype, alloc_migratetype);
-               tp_assign(fallback_migratetype, fallback_migratetype);
+               tp_assign(page, page)
+               tp_assign(alloc_order, alloc_order)
+               tp_assign(fallback_order, fallback_order)
+               tp_assign(alloc_migratetype, alloc_migratetype)
+               tp_assign(fallback_migratetype, fallback_migratetype)
        ),
 
        TP_printk("page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d",
@@ -297,6 +317,7 @@ TRACE_EVENT(mm_page_alloc_extfrag,
                __entry->fallback_order < pageblock_order,
                __entry->alloc_migratetype == __entry->fallback_migratetype)
 )
+#endif
 
 #endif /* _TRACE_KMEM_H */
 
This page took 0.02602 seconds and 4 git commands to generate.