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

From: Mel Gorman
Date: Fri Aug 07 2009 - 07:09:28 EST


On Fri, Aug 07, 2009 at 09:53:17AM +0200, Ingo Molnar wrote:
>
> * 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.
>

Knowing you meant percpu_refill, it's now been figured out in TP_printk
instead of in the code.

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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/