Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #undef TRACE_SYSTEM
0003 #define TRACE_SYSTEM cma
0004 
0005 #if !defined(_TRACE_CMA_H) || defined(TRACE_HEADER_MULTI_READ)
0006 #define _TRACE_CMA_H
0007 
0008 #include <linux/types.h>
0009 #include <linux/tracepoint.h>
0010 
0011 DECLARE_EVENT_CLASS(cma_alloc_class,
0012 
0013     TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
0014          unsigned long count, unsigned int align),
0015 
0016     TP_ARGS(name, pfn, page, count, align),
0017 
0018     TP_STRUCT__entry(
0019         __string(name, name)
0020         __field(unsigned long, pfn)
0021         __field(const struct page *, page)
0022         __field(unsigned long, count)
0023         __field(unsigned int, align)
0024     ),
0025 
0026     TP_fast_assign(
0027         __assign_str(name, name);
0028         __entry->pfn = pfn;
0029         __entry->page = page;
0030         __entry->count = count;
0031         __entry->align = align;
0032     ),
0033 
0034     TP_printk("name=%s pfn=0x%lx page=%p count=%lu align=%u",
0035           __get_str(name),
0036           __entry->pfn,
0037           __entry->page,
0038           __entry->count,
0039           __entry->align)
0040 );
0041 
0042 TRACE_EVENT(cma_release,
0043 
0044     TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
0045          unsigned long count),
0046 
0047     TP_ARGS(name, pfn, page, count),
0048 
0049     TP_STRUCT__entry(
0050         __string(name, name)
0051         __field(unsigned long, pfn)
0052         __field(const struct page *, page)
0053         __field(unsigned long, count)
0054     ),
0055 
0056     TP_fast_assign(
0057         __assign_str(name, name);
0058         __entry->pfn = pfn;
0059         __entry->page = page;
0060         __entry->count = count;
0061     ),
0062 
0063     TP_printk("name=%s pfn=0x%lx page=%p count=%lu",
0064           __get_str(name),
0065           __entry->pfn,
0066           __entry->page,
0067           __entry->count)
0068 );
0069 
0070 TRACE_EVENT(cma_alloc_start,
0071 
0072     TP_PROTO(const char *name, unsigned long count, unsigned int align),
0073 
0074     TP_ARGS(name, count, align),
0075 
0076     TP_STRUCT__entry(
0077         __string(name, name)
0078         __field(unsigned long, count)
0079         __field(unsigned int, align)
0080     ),
0081 
0082     TP_fast_assign(
0083         __assign_str(name, name);
0084         __entry->count = count;
0085         __entry->align = align;
0086     ),
0087 
0088     TP_printk("name=%s count=%lu align=%u",
0089           __get_str(name),
0090           __entry->count,
0091           __entry->align)
0092 );
0093 
0094 DEFINE_EVENT(cma_alloc_class, cma_alloc_finish,
0095 
0096     TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
0097          unsigned long count, unsigned int align),
0098 
0099     TP_ARGS(name, pfn, page, count, align)
0100 );
0101 
0102 DEFINE_EVENT(cma_alloc_class, cma_alloc_busy_retry,
0103 
0104     TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
0105          unsigned long count, unsigned int align),
0106 
0107     TP_ARGS(name, pfn, page, count, align)
0108 );
0109 
0110 #endif /* _TRACE_CMA_H */
0111 
0112 /* This part must be outside protection */
0113 #include <trace/define_trace.h>