diff options
| author | Liam Mark <lmark@codeaurora.org> | 2015-11-25 14:37:54 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:14:00 -0700 |
| commit | 5d871bae1b53964a507fe60874cefe8464eb9e02 (patch) | |
| tree | b92624b151959099646f45cd159a48635187f3bf /include | |
| parent | ff76e3f64ed6d06ca53a81dbc42814aeecd14af2 (diff) | |
mm: cma: add trace events for CMA alloc perf testing
Add cma and migrate trace events to enable CMA allocation
performance to be measured via ftrace.
Change-Id: I1e471e9e21f1a14ce2ed167d8515ccb5f83eb88c
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/trace/events/cma.h | 40 | ||||
| -rw-r--r-- | include/trace/events/migrate.h | 21 |
2 files changed, 60 insertions, 1 deletions
diff --git a/include/trace/events/cma.h b/include/trace/events/cma.h index d7cd961720a7..693fceb8a484 100644 --- a/include/trace/events/cma.h +++ b/include/trace/events/cma.h @@ -7,7 +7,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), @@ -60,6 +60,44 @@ TRACE_EVENT(cma_release, __entry->count) ); +TRACE_EVENT(cma_alloc_start, + + TP_PROTO(unsigned int count, unsigned int align), + + TP_ARGS(count, align), + + TP_STRUCT__entry( + __field(unsigned int, count) + __field(unsigned int, align) + ), + + TP_fast_assign( + __entry->count = count; + __entry->align = align; + ), + + TP_printk("count=%u align=%u", + __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 */ diff --git a/include/trace/events/migrate.h b/include/trace/events/migrate.h index 539b25a76111..0ee910d5d194 100644 --- a/include/trace/events/migrate.h +++ b/include/trace/events/migrate.h @@ -96,6 +96,27 @@ TRACE_EVENT(mm_numa_migrate_ratelimit, __entry->dst_nid, __entry->nr_pages) ); + +TRACE_EVENT(mm_migrate_pages_start, + + TP_PROTO(enum migrate_mode mode, int reason), + + TP_ARGS(mode, reason), + + TP_STRUCT__entry( + __field(enum migrate_mode, mode) + __field(int, reason) + ), + + TP_fast_assign( + __entry->mode = mode; + __entry->reason = reason; + ), + + TP_printk("mode=%s reason=%s", + __print_symbolic(__entry->mode, MIGRATE_MODE), + __print_symbolic(__entry->reason, MIGRATE_REASON)) +); #endif /* _TRACE_MIGRATE_H */ /* This part must be outside protection */ |
