Re: [PATCH 3/6] tracing, page-allocator: Add trace event for pagetraffic related to the buddy lists

From: Ingo Molnar
Date: Fri Aug 07 2009 - 03:53:55 EST



* Mel Gorman <mel@xxxxxxxxx> wrote:

> +TRACE_EVENT(mm_page_pcpu_drain,
> +
> + TP_PROTO(struct page *page, int order, int migratetype),
> +
> + TP_ARGS(page, order, migratetype),
> +
> + TP_STRUCT__entry(
> + __field( struct page *, page )
> + __field( int, order )
> + __field( int, migratetype )
> + ),
> +
> + TP_fast_assign(
> + __entry->page = page;
> + __entry->order = order;
> + __entry->migratetype = migratetype;
> + ),
> +
> + TP_printk("page=%p pfn=%lu order=%d cpu=%d migratetype=%d",
> + __entry->page,
> + page_to_pfn(__entry->page),
> + __entry->order,
> + smp_processor_id(),
> + __entry->migratetype)

> + trace_mm_page_alloc_zone_locked(page, order, migratetype, order == 0);

This can be optimized further by omitting the migratetype field and
adding something like this:

TP_printk("page=%p pfn=%lu order=%d cpu=%d migratetype=%d",
__entry->page,
page_to_pfn(__entry->page),
__entry->order,
smp_processor_id(),
__entry->order == 0);

The advantage is 4 bytes less in the record and a shorter tracepoint
fast-path - while still having the same output.

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/