Linux Audio

Check our new training course

Loading...
v6.2
  1/* SPDX-License-Identifier: GPL-2.0 */
  2#undef TRACE_SYSTEM
  3#define TRACE_SYSTEM page_ref
  4
  5#if !defined(_TRACE_PAGE_REF_H) || defined(TRACE_HEADER_MULTI_READ)
  6#define _TRACE_PAGE_REF_H
  7
  8#include <linux/types.h>
  9#include <linux/page_ref.h>
 10#include <linux/tracepoint.h>
 11#include <trace/events/mmflags.h>
 12
 13DECLARE_EVENT_CLASS(page_ref_mod_template,
 14
 15	TP_PROTO(struct page *page, int v),
 16
 17	TP_ARGS(page, v),
 18
 19	TP_STRUCT__entry(
 20		__field(unsigned long, pfn)
 21		__field(unsigned long, flags)
 22		__field(int, count)
 23		__field(int, mapcount)
 24		__field(void *, mapping)
 25		__field(int, mt)
 26		__field(int, val)
 27	),
 28
 29	TP_fast_assign(
 30		__entry->pfn = page_to_pfn(page);
 31		__entry->flags = page->flags;
 32		__entry->count = page_ref_count(page);
 33		__entry->mapcount = page_mapcount(page);
 34		__entry->mapping = page->mapping;
 35		__entry->mt = get_pageblock_migratetype(page);
 36		__entry->val = v;
 37	),
 38
 39	TP_printk("pfn=0x%lx flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d",
 40		__entry->pfn,
 41		show_page_flags(__entry->flags & PAGEFLAGS_MASK),
 42		__entry->count,
 43		__entry->mapcount, __entry->mapping, __entry->mt,
 44		__entry->val)
 45);
 46
 47DEFINE_EVENT(page_ref_mod_template, page_ref_set,
 48
 49	TP_PROTO(struct page *page, int v),
 50
 51	TP_ARGS(page, v)
 52);
 53
 54DEFINE_EVENT(page_ref_mod_template, page_ref_mod,
 55
 56	TP_PROTO(struct page *page, int v),
 57
 58	TP_ARGS(page, v)
 59);
 60
 61DECLARE_EVENT_CLASS(page_ref_mod_and_test_template,
 62
 63	TP_PROTO(struct page *page, int v, int ret),
 64
 65	TP_ARGS(page, v, ret),
 66
 67	TP_STRUCT__entry(
 68		__field(unsigned long, pfn)
 69		__field(unsigned long, flags)
 70		__field(int, count)
 71		__field(int, mapcount)
 72		__field(void *, mapping)
 73		__field(int, mt)
 74		__field(int, val)
 75		__field(int, ret)
 76	),
 77
 78	TP_fast_assign(
 79		__entry->pfn = page_to_pfn(page);
 80		__entry->flags = page->flags;
 81		__entry->count = page_ref_count(page);
 82		__entry->mapcount = page_mapcount(page);
 83		__entry->mapping = page->mapping;
 84		__entry->mt = get_pageblock_migratetype(page);
 85		__entry->val = v;
 86		__entry->ret = ret;
 87	),
 88
 89	TP_printk("pfn=0x%lx flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d ret=%d",
 90		__entry->pfn,
 91		show_page_flags(__entry->flags & PAGEFLAGS_MASK),
 92		__entry->count,
 93		__entry->mapcount, __entry->mapping, __entry->mt,
 94		__entry->val, __entry->ret)
 95);
 96
 97DEFINE_EVENT(page_ref_mod_and_test_template, page_ref_mod_and_test,
 98
 99	TP_PROTO(struct page *page, int v, int ret),
100
101	TP_ARGS(page, v, ret)
102);
103
104DEFINE_EVENT(page_ref_mod_and_test_template, page_ref_mod_and_return,
105
106	TP_PROTO(struct page *page, int v, int ret),
107
108	TP_ARGS(page, v, ret)
109);
110
111DEFINE_EVENT(page_ref_mod_and_test_template, page_ref_mod_unless,
112
113	TP_PROTO(struct page *page, int v, int ret),
114
115	TP_ARGS(page, v, ret)
116);
117
118DEFINE_EVENT(page_ref_mod_and_test_template, page_ref_freeze,
119
120	TP_PROTO(struct page *page, int v, int ret),
121
122	TP_ARGS(page, v, ret)
123);
124
125DEFINE_EVENT(page_ref_mod_template, page_ref_unfreeze,
126
127	TP_PROTO(struct page *page, int v),
128
129	TP_ARGS(page, v)
130);
131
132#endif /* _TRACE_PAGE_COUNT_H */
133
134/* This part must be outside protection */
135#include <trace/define_trace.h>
v4.6
 
  1#undef TRACE_SYSTEM
  2#define TRACE_SYSTEM page_ref
  3
  4#if !defined(_TRACE_PAGE_REF_H) || defined(TRACE_HEADER_MULTI_READ)
  5#define _TRACE_PAGE_REF_H
  6
  7#include <linux/types.h>
  8#include <linux/page_ref.h>
  9#include <linux/tracepoint.h>
 10#include <trace/events/mmflags.h>
 11
 12DECLARE_EVENT_CLASS(page_ref_mod_template,
 13
 14	TP_PROTO(struct page *page, int v),
 15
 16	TP_ARGS(page, v),
 17
 18	TP_STRUCT__entry(
 19		__field(unsigned long, pfn)
 20		__field(unsigned long, flags)
 21		__field(int, count)
 22		__field(int, mapcount)
 23		__field(void *, mapping)
 24		__field(int, mt)
 25		__field(int, val)
 26	),
 27
 28	TP_fast_assign(
 29		__entry->pfn = page_to_pfn(page);
 30		__entry->flags = page->flags;
 31		__entry->count = page_ref_count(page);
 32		__entry->mapcount = page_mapcount(page);
 33		__entry->mapping = page->mapping;
 34		__entry->mt = get_pageblock_migratetype(page);
 35		__entry->val = v;
 36	),
 37
 38	TP_printk("pfn=0x%lx flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d",
 39		__entry->pfn,
 40		show_page_flags(__entry->flags & ((1UL << NR_PAGEFLAGS) - 1)),
 41		__entry->count,
 42		__entry->mapcount, __entry->mapping, __entry->mt,
 43		__entry->val)
 44);
 45
 46DEFINE_EVENT(page_ref_mod_template, page_ref_set,
 47
 48	TP_PROTO(struct page *page, int v),
 49
 50	TP_ARGS(page, v)
 51);
 52
 53DEFINE_EVENT(page_ref_mod_template, page_ref_mod,
 54
 55	TP_PROTO(struct page *page, int v),
 56
 57	TP_ARGS(page, v)
 58);
 59
 60DECLARE_EVENT_CLASS(page_ref_mod_and_test_template,
 61
 62	TP_PROTO(struct page *page, int v, int ret),
 63
 64	TP_ARGS(page, v, ret),
 65
 66	TP_STRUCT__entry(
 67		__field(unsigned long, pfn)
 68		__field(unsigned long, flags)
 69		__field(int, count)
 70		__field(int, mapcount)
 71		__field(void *, mapping)
 72		__field(int, mt)
 73		__field(int, val)
 74		__field(int, ret)
 75	),
 76
 77	TP_fast_assign(
 78		__entry->pfn = page_to_pfn(page);
 79		__entry->flags = page->flags;
 80		__entry->count = page_ref_count(page);
 81		__entry->mapcount = page_mapcount(page);
 82		__entry->mapping = page->mapping;
 83		__entry->mt = get_pageblock_migratetype(page);
 84		__entry->val = v;
 85		__entry->ret = ret;
 86	),
 87
 88	TP_printk("pfn=0x%lx flags=%s count=%d mapcount=%d mapping=%p mt=%d val=%d ret=%d",
 89		__entry->pfn,
 90		show_page_flags(__entry->flags & ((1UL << NR_PAGEFLAGS) - 1)),
 91		__entry->count,
 92		__entry->mapcount, __entry->mapping, __entry->mt,
 93		__entry->val, __entry->ret)
 94);
 95
 96DEFINE_EVENT(page_ref_mod_and_test_template, page_ref_mod_and_test,
 97
 98	TP_PROTO(struct page *page, int v, int ret),
 99
100	TP_ARGS(page, v, ret)
101);
102
103DEFINE_EVENT(page_ref_mod_and_test_template, page_ref_mod_and_return,
104
105	TP_PROTO(struct page *page, int v, int ret),
106
107	TP_ARGS(page, v, ret)
108);
109
110DEFINE_EVENT(page_ref_mod_and_test_template, page_ref_mod_unless,
111
112	TP_PROTO(struct page *page, int v, int ret),
113
114	TP_ARGS(page, v, ret)
115);
116
117DEFINE_EVENT(page_ref_mod_and_test_template, page_ref_freeze,
118
119	TP_PROTO(struct page *page, int v, int ret),
120
121	TP_ARGS(page, v, ret)
122);
123
124DEFINE_EVENT(page_ref_mod_template, page_ref_unfreeze,
125
126	TP_PROTO(struct page *page, int v),
127
128	TP_ARGS(page, v)
129);
130
131#endif /* _TRACE_PAGE_COUNT_H */
132
133/* This part must be outside protection */
134#include <trace/define_trace.h>