summaryrefslogtreecommitdiff
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index bdd5c432c426..2bbe7208a441 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -46,6 +46,7 @@
#include <linux/page-isolation.h>
#include <linux/memcontrol.h>
#include <linux/debugobjects.h>
+#include <linux/marker.h>
#include <asm/tlbflush.h>
#include <asm/div64.h>
@@ -528,6 +529,9 @@ static void __free_pages_ok(struct page *page, unsigned int order)
int i;
int reserved = 0;
+ trace_mark(mm_page_free, "order %u pfn %lu",
+ order, page_to_pfn(page));
+
for (i = 0 ; i < (1 << order) ; ++i)
reserved += free_pages_check(page + i);
if (reserved)
@@ -994,6 +998,8 @@ static void free_hot_cold_page(struct page *page, int cold)
struct per_cpu_pages *pcp;
unsigned long flags;
+ trace_mark(mm_page_free, "order %u pfn %lu", 0, page_to_pfn(page));
+
if (PageAnon(page))
page->mapping = NULL;
if (free_pages_check(page))
@@ -1655,6 +1661,9 @@ nopage:
show_mem();
}
got_pg:
+ if (page)
+ trace_mark(mm_page_alloc, "order %u pfn %lu", order,
+ page_to_pfn(page));
return page;
}