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

From: Li Zefan
Date: Fri Aug 07 2009 - 04:06:24 EST


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

This is the cpu when printk() is called, but not the cpu when
this event happens.

And this information has already been stored, and is printed
if context-info option is set, which is set by default.

> + __entry->percpu_refill)
> +);
> +
> +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(),

ditto

> + __entry->migratetype)
> +);
> +
--
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/