From: gaoxiang17 This makes cma info more intuitive during debugging. Signed-off-by: gaoxiang17 --- include/trace/events/cma.h | 17 ++++++++++++----- mm/cma.c | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/include/trace/events/cma.h b/include/trace/events/cma.h index 383c09f583ac..fbe70008ffc7 100644 --- a/include/trace/events/cma.h +++ b/include/trace/events/cma.h @@ -38,25 +38,32 @@ TRACE_EVENT(cma_release, TRACE_EVENT(cma_alloc_start, - TP_PROTO(const char *name, unsigned long count, unsigned int align), + TP_PROTO(const char *name, unsigned long request_count, unsigned long available_count, + unsigned long total_count, unsigned int align), - TP_ARGS(name, count, align), + TP_ARGS(name, request_count, available_count, total_count, align), TP_STRUCT__entry( __string(name, name) - __field(unsigned long, count) + __field(unsigned long, request_count) + __field(unsigned long, available_count) + __field(unsigned long, total_count) __field(unsigned int, align) ), TP_fast_assign( __assign_str(name); - __entry->count = count; + __entry->count = request_count; + __entry->available_count = available_count; + __entry->total_count = total_count; __entry->align = align; ), TP_printk("name=%s count=%lu align=%u", __get_str(name), - __entry->count, + __entry->request_count, + __entry->available_count, + __entry->total_count, __entry->align) ); diff --git a/mm/cma.c b/mm/cma.c index 2ffa4befb99a..e56ec64d0567 100644 --- a/mm/cma.c +++ b/mm/cma.c @@ -864,7 +864,7 @@ static struct page *__cma_alloc(struct cma *cma, unsigned long count, if (!count) return page; - trace_cma_alloc_start(name, count, align); + trace_cma_alloc_start(name, count, cma->available_count, cma->count, align); for (r = 0; r < cma->nranges; r++) { page = NULL; -- 2.34.1