From b06712cdecc23e7818f0e4300a4eec3939440acd Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Thu, 2 Apr 2015 17:00:33 +0200 Subject: [PATCH] lttng-modules: fix build on recent kernels Signed-off-by: Nicolas Thill --- devel/lttng-modules/Makefile | 2 +- .../patches/001-mm_page_alloc_extfrag.patch | 98 +++++++++++++++++++ 2 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 devel/lttng-modules/patches/001-mm_page_alloc_extfrag.patch diff --git a/devel/lttng-modules/Makefile b/devel/lttng-modules/Makefile index 1fcfa73da3..355f325035 100644 --- a/devel/lttng-modules/Makefile +++ b/devel/lttng-modules/Makefile @@ -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 index 0000000000..183f7d117a --- /dev/null +++ b/devel/lttng-modules/patches/001-mm_page_alloc_extfrag.patch @@ -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, +