|
@@ -299,6 +299,44 @@ TRACE_EVENT(mm_page_alloc,
|
|
|
show_gfp_flags(__entry->gfp_flags))
|
|
|
);
|
|
|
|
|
|
+TRACE_EVENT(mm_page_alloc_extfrag,
|
|
|
+
|
|
|
+ TP_PROTO(struct page *page,
|
|
|
+ int alloc_order, int fallback_order,
|
|
|
+ int alloc_migratetype, int fallback_migratetype),
|
|
|
+
|
|
|
+ TP_ARGS(page,
|
|
|
+ alloc_order, fallback_order,
|
|
|
+ alloc_migratetype, fallback_migratetype),
|
|
|
+
|
|
|
+ TP_STRUCT__entry(
|
|
|
+ __field( struct page *, page )
|
|
|
+ __field( int, alloc_order )
|
|
|
+ __field( int, fallback_order )
|
|
|
+ __field( int, alloc_migratetype )
|
|
|
+ __field( int, fallback_migratetype )
|
|
|
+ ),
|
|
|
+
|
|
|
+ TP_fast_assign(
|
|
|
+ __entry->page = page;
|
|
|
+ __entry->alloc_order = alloc_order;
|
|
|
+ __entry->fallback_order = fallback_order;
|
|
|
+ __entry->alloc_migratetype = alloc_migratetype;
|
|
|
+ __entry->fallback_migratetype = fallback_migratetype;
|
|
|
+ ),
|
|
|
+
|
|
|
+ TP_printk("page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d",
|
|
|
+ __entry->page,
|
|
|
+ page_to_pfn(__entry->page),
|
|
|
+ __entry->alloc_order,
|
|
|
+ __entry->fallback_order,
|
|
|
+ pageblock_order,
|
|
|
+ __entry->alloc_migratetype,
|
|
|
+ __entry->fallback_migratetype,
|
|
|
+ __entry->fallback_order < pageblock_order,
|
|
|
+ __entry->alloc_migratetype == __entry->fallback_migratetype)
|
|
|
+);
|
|
|
+
|
|
|
#endif /* _TRACE_KMEM_H */
|
|
|
|
|
|
/* This part must be outside protection */
|