Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 164433
b: refs/heads/master
c: 4b4f278
h: refs/heads/master
i:
  164431: ad58125
v: v3
  • Loading branch information
Mel Gorman authored and Linus Torvalds committed Sep 22, 2009
1 parent 6764e1b commit afc8b11
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 38a398572fa2d8124f7479e40db581b5b72719c9
refs/heads/master: 4b4f278c030aa4b6ee0915f396e9a9478d92d610
74 changes: 74 additions & 0 deletions trunk/include/trace/events/kmem.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,80 @@ TRACE_EVENT(kmem_cache_free,

TP_printk("call_site=%lx ptr=%p", __entry->call_site, __entry->ptr)
);

TRACE_EVENT(mm_page_free_direct,

TP_PROTO(struct page *page, unsigned int order),

TP_ARGS(page, order),

TP_STRUCT__entry(
__field( struct page *, page )
__field( unsigned int, order )
),

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

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

TRACE_EVENT(mm_pagevec_free,

TP_PROTO(struct page *page, int cold),

TP_ARGS(page, cold),

TP_STRUCT__entry(
__field( struct page *, page )
__field( int, cold )
),

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

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

TRACE_EVENT(mm_page_alloc,

TP_PROTO(struct page *page, unsigned int order,
gfp_t gfp_flags, int migratetype),

TP_ARGS(page, order, gfp_flags, migratetype),

TP_STRUCT__entry(
__field( struct page *, page )
__field( unsigned int, order )
__field( gfp_t, gfp_flags )
__field( int, migratetype )
),

TP_fast_assign(
__entry->page = page;
__entry->order = order;
__entry->gfp_flags = gfp_flags;
__entry->migratetype = migratetype;
),

TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s",
__entry->page,
page_to_pfn(__entry->page),
__entry->order,
__entry->migratetype,
show_gfp_flags(__entry->gfp_flags))
);

#endif /* _TRACE_KMEM_H */

/* This part must be outside protection */
Expand Down
7 changes: 6 additions & 1 deletion trunk/mm/page_alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1076,6 +1076,7 @@ static void free_hot_cold_page(struct page *page, int cold)

void free_hot_page(struct page *page)
{
trace_mm_page_free_direct(page, 0);
free_hot_cold_page(page, 0);
}

Expand Down Expand Up @@ -1920,6 +1921,7 @@ __alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order,
zonelist, high_zoneidx, nodemask,
preferred_zone, migratetype);

trace_mm_page_alloc(page, order, gfp_mask, migratetype);
return page;
}
EXPORT_SYMBOL(__alloc_pages_nodemask);
Expand Down Expand Up @@ -1954,13 +1956,16 @@ void __pagevec_free(struct pagevec *pvec)
{
int i = pagevec_count(pvec);

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

void __free_pages(struct page *page, unsigned int order)
{
if (put_page_testzero(page)) {
trace_mm_page_free_direct(page, order);
if (order == 0)
free_hot_page(page);
else
Expand Down

0 comments on commit afc8b11

Please sign in to comment.