Re: [PATCH 1/6] tracing, page-allocator: Add trace events for pageallocation and page freeing

From: Ingo Molnar
Date: Fri Aug 07 2009 - 03:51:21 EST



* Mel Gorman <mel@xxxxxxxxx> wrote:

> +TRACE_EVENT(mm_pagevec_free,

> + TP_fast_assign(
> + __entry->page = page;
> + __entry->order = order;
> + __entry->cold = cold;
> + ),

> - while (--i >= 0)
> + while (--i >= 0) {
> + trace_mm_pagevec_free(pvec->pages[i], 0, pvec->cold);
> free_hot_cold_page(pvec->pages[i], pvec->cold);
> + }

Pagevec freeing has order 0 implicit, so you can further optimize
this by leaving out the 'order' field and using this format string:

+ TP_printk("page=%p pfn=%lu order=0 cold=%d",
+ __entry->page,
+ page_to_pfn(__entry->page),
+ __entry->cold)

the trace record becomes smaller by 4 bytes and the tracepoint
fastpath becomes shorter as well.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/