diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 913a8ebd3a8e..80f954d82d77 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -1076,6 +1076,7 @@ static void free_hot_cold_page(struct page *page, int cold) | |||
1076 | 1076 | ||
1077 | void free_hot_page(struct page *page) | 1077 | void free_hot_page(struct page *page) |
1078 | { | 1078 | { |
1079 | trace_mm_page_free_direct(page, 0); | ||
1079 | free_hot_cold_page(page, 0); | 1080 | free_hot_cold_page(page, 0); |
1080 | } | 1081 | } |
1081 | 1082 | ||
@@ -1920,6 +1921,7 @@ __alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order, | |||
1920 | zonelist, high_zoneidx, nodemask, | 1921 | zonelist, high_zoneidx, nodemask, |
1921 | preferred_zone, migratetype); | 1922 | preferred_zone, migratetype); |
1922 | 1923 | ||
1924 | trace_mm_page_alloc(page, order, gfp_mask, migratetype); | ||
1923 | return page; | 1925 | return page; |
1924 | } | 1926 | } |
1925 | EXPORT_SYMBOL(__alloc_pages_nodemask); | 1927 | EXPORT_SYMBOL(__alloc_pages_nodemask); |
@@ -1954,13 +1956,16 @@ void __pagevec_free(struct pagevec *pvec) | |||
1954 | { | 1956 | { |
1955 | int i = pagevec_count(pvec); | 1957 | int i = pagevec_count(pvec); |
1956 | 1958 | ||
1957 | while (--i >= 0) | 1959 | while (--i >= 0) { |
1960 | trace_mm_pagevec_free(pvec->pages[i], pvec->cold); | ||
1958 | free_hot_cold_page(pvec->pages[i], pvec->cold); | 1961 | free_hot_cold_page(pvec->pages[i], pvec->cold); |
1962 | } | ||
1959 | } | 1963 | } |
1960 | 1964 | ||
1961 | void __free_pages(struct page *page, unsigned int order) | 1965 | void __free_pages(struct page *page, unsigned int order) |
1962 | { | 1966 | { |
1963 | if (put_page_testzero(page)) { | 1967 | if (put_page_testzero(page)) { |
1968 | trace_mm_page_free_direct(page, order); | ||
1964 | if (order == 0) | 1969 | if (order == 0) |
1965 | free_hot_page(page); | 1970 | free_hot_page(page); |
1966 | else | 1971 | else |