mm: cma: add trace events for CMA alloc perf testing
[linux-2.6-microblaze.git] / include / trace / events / cma.h
index 5017a88..be1525a 100644 (file)
@@ -8,7 +8,7 @@
 #include <linux/types.h>
 #include <linux/tracepoint.h>
 
-TRACE_EVENT(cma_alloc,
+DECLARE_EVENT_CLASS(cma_alloc_class,
 
        TP_PROTO(unsigned long pfn, const struct page *page,
                 unsigned int count, unsigned int align),
@@ -61,6 +61,46 @@ TRACE_EVENT(cma_release,
                  __entry->count)
 );
 
+TRACE_EVENT(cma_alloc_start,
+
+       TP_PROTO(const char *name, unsigned int count, unsigned int align),
+
+       TP_ARGS(name, count, align),
+
+       TP_STRUCT__entry(
+               __string(name, name)
+               __field(unsigned int, count)
+               __field(unsigned int, align)
+       ),
+
+       TP_fast_assign(
+               __assign_str(name, name);
+               __entry->count = count;
+               __entry->align = align;
+       ),
+
+       TP_printk("name=%s count=%u align=%u",
+                 __get_str(name),
+                 __entry->count,
+                 __entry->align)
+);
+
+DEFINE_EVENT(cma_alloc_class, cma_alloc,
+
+       TP_PROTO(unsigned long pfn, const struct page *page,
+                unsigned int count, unsigned int align),
+
+       TP_ARGS(pfn, page, count, align)
+);
+
+DEFINE_EVENT(cma_alloc_class, cma_alloc_busy_retry,
+
+       TP_PROTO(unsigned long pfn, const struct page *page,
+                unsigned int count, unsigned int align),
+
+       TP_ARGS(pfn, page, count, align)
+);
+
 #endif /* _TRACE_CMA_H */
 
 /* This part must be outside protection */