lttng-modules: fix build on recent kernels
authorNicolas Thill <[email protected]>
Thu, 2 Apr 2015 15:00:33 +0000 (17:00 +0200)
committerNicolas Thill <[email protected]>
Thu, 2 Apr 2015 15:02:11 +0000 (17:02 +0200)
Signed-off-by: Nicolas Thill <[email protected]>
devel/lttng-modules/Makefile
devel/lttng-modules/patches/001-mm_page_alloc_extfrag.patch [new file with mode: 0644]

index 1fcfa73da3e4c2708016d4a2259cda4a4e9870f5..355f325035a5b88e275731a75543887001dac8ed 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lttng-modules
 PKG_VERSION:=2.6.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://lttng.org/files/$(PKG_NAME)/
diff --git a/devel/lttng-modules/patches/001-mm_page_alloc_extfrag.patch b/devel/lttng-modules/patches/001-mm_page_alloc_extfrag.patch
new file mode 100644 (file)
index 0000000..183f7d1
--- /dev/null
@@ -0,0 +1,98 @@
+--- a/instrumentation/events/lttng-module/kmem.h
++++ b/instrumentation/events/lttng-module/kmem.h
+@@ -286,7 +286,94 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_PRINT(mm
+               __entry->order, __entry->migratetype)
+ )
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,2)     \
++      || LTTNG_KERNEL_RANGE(3,18,10, 3,19,0) \
++      || LTTNG_KERNEL_RANGE(3,14,36, 3,15,0))
++
++LTTNG_TRACEPOINT_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_hex(    struct page *,  page                    )
++              __field(        int,            alloc_order             )
++              __field(        int,            fallback_order          )
++              __field(        int,            alloc_migratetype       )
++              __field(        int,            fallback_migratetype    )
++              __field(        int,            change_ownership        )
++      ),
++
++      TP_fast_assign(
++              tp_assign(page, page)
++              tp_assign(alloc_order, alloc_order)
++              tp_assign(fallback_order, fallback_order)
++              tp_assign(alloc_migratetype, alloc_migratetype)
++              tp_assign(fallback_migratetype, fallback_migratetype)
++              tp_assign(change_ownership,
++                      (alloc_migratetype == get_pageblock_migratetype(page)))
++      ),
++
++      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->change_ownership)
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,30))
++
++LTTNG_TRACEPOINT_EVENT(mm_page_alloc_extfrag,
++
++      TP_PROTO(struct page *page,
++              int alloc_order, int fallback_order,
++              int alloc_migratetype, int fallback_migratetype, int new_migratetype),
++
++      TP_ARGS(page,
++              alloc_order, fallback_order,
++              alloc_migratetype, fallback_migratetype, new_migratetype),
++
++      TP_STRUCT__entry(
++              __field_hex(    struct page *,  page                    )
++              __field(        int,            alloc_order             )
++              __field(        int,            fallback_order          )
++              __field(        int,            alloc_migratetype       )
++              __field(        int,            fallback_migratetype    )
++              __field(        int,            change_ownership        )
++      ),
++
++      TP_fast_assign(
++              tp_assign(page, page)
++              tp_assign(alloc_order, alloc_order)
++              tp_assign(fallback_order, fallback_order)
++              tp_assign(alloc_migratetype, alloc_migratetype)
++              tp_assign(fallback_migratetype, fallback_migratetype)
++              tp_assign(change_ownership, (new_migratetype == alloc_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->change_ownership)
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+ LTTNG_TRACEPOINT_EVENT(mm_page_alloc_extfrag,