From 1681c886b0dff0b8e7d3a3919eaaa38eb0cae3dd Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 17 Jul 2014 15:15:32 -0400 Subject: lttng-modules: update to 2.5.0 During the uprev of the yocto kernel to 3.16, lttng-modules failed to build. To grab the latest stable content, we update to 2.5.0, and add two patches to also make it build against 3.16+. We also drop the older 2.3.3 lttng-modules, since it is no longer required to support ARM builds. (From OE-Core rev: 10680c8f06c52b25ed63d315596707701402646d) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie --- ...compaction-instrumentation-to-3.16-kernel.patch | 83 ++++++++++++++++++++++ ...ate-vmscan-instrumentation-to-3.16-kernel.patch | 70 ++++++++++++++++++ meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb | 36 ---------- meta/recipes-kernel/lttng/lttng-modules_2.4.1.bb | 38 ---------- meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb | 39 ++++++++++ 5 files changed, 192 insertions(+), 74 deletions(-) create mode 100644 meta/recipes-kernel/lttng/lttng-modules/Update-compaction-instrumentation-to-3.16-kernel.patch create mode 100644 meta/recipes-kernel/lttng/lttng-modules/Update-vmscan-instrumentation-to-3.16-kernel.patch delete mode 100644 meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb delete mode 100644 meta/recipes-kernel/lttng/lttng-modules_2.4.1.bb create mode 100644 meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb (limited to 'meta/recipes-kernel/lttng') diff --git a/meta/recipes-kernel/lttng/lttng-modules/Update-compaction-instrumentation-to-3.16-kernel.patch b/meta/recipes-kernel/lttng/lttng-modules/Update-compaction-instrumentation-to-3.16-kernel.patch new file mode 100644 index 0000000..0a056a9 --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/Update-compaction-instrumentation-to-3.16-kernel.patch @@ -0,0 +1,83 @@ +From 0007344741ef65259bc52dea72259173dfbf96c0 Mon Sep 17 00:00:00 2001 +From: Mathieu Desnoyers +Date: Sun, 13 Jul 2014 13:33:21 -0400 +Subject: [PATCH 2/2] Update compaction instrumentation to 3.16 kernel + +Signed-off-by: Mathieu Desnoyers +--- + instrumentation/events/lttng-module/compaction.h | 45 +++++++++++++++++++++++- + 1 file changed, 44 insertions(+), 1 deletion(-) + +diff --git a/instrumentation/events/lttng-module/compaction.h b/instrumentation/events/lttng-module/compaction.h +index 1b237fa45ab0..22024e9ee582 100644 +--- a/instrumentation/events/lttng-module/compaction.h ++++ b/instrumentation/events/lttng-module/compaction.h +@@ -6,6 +6,7 @@ + + #include + #include ++#include + #include + + DECLARE_EVENT_CLASS(mm_compaction_isolate_template, +@@ -45,6 +46,48 @@ DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_freepages, + TP_ARGS(nr_scanned, nr_taken) + ) + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) ++TRACE_EVENT(mm_compaction_migratepages, ++ ++ TP_PROTO(unsigned long nr_all, ++ int migrate_rc, ++ struct list_head *migratepages), ++ ++ TP_ARGS(nr_all, migrate_rc, migratepages), ++ ++ TP_STRUCT__entry( ++ __field(unsigned long, nr_migrated) ++ __field(unsigned long, nr_failed) ++ ), ++ ++ TP_fast_assign( ++ tp_assign(nr_migrated, ++ nr_all - ++ (migrate_rc >= 0 ? migrate_rc : ++ ({ ++ unsigned long nr_failed = 0; ++ struct list_head *page_lru; ++ ++ list_for_each(page_lru, migratepages) ++ nr_failed++; ++ nr_failed; ++ }))) ++ tp_assign(nr_failed, ++ ({ ++ unsigned long nr_failed = 0; ++ struct list_head *page_lru; ++ ++ list_for_each(page_lru, migratepages) ++ nr_failed++; ++ nr_failed; ++ })) ++ ), ++ ++ TP_printk("nr_migrated=%lu nr_failed=%lu", ++ __entry->nr_migrated, ++ __entry->nr_failed) ++) ++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */ + TRACE_EVENT(mm_compaction_migratepages, + + TP_PROTO(unsigned long nr_migrated, +@@ -66,7 +109,7 @@ TRACE_EVENT(mm_compaction_migratepages, + __entry->nr_migrated, + __entry->nr_failed) + ) +- ++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */ + + #endif /* _TRACE_COMPACTION_H */ + +-- +1.8.1.2 + diff --git a/meta/recipes-kernel/lttng/lttng-modules/Update-vmscan-instrumentation-to-3.16-kernel.patch b/meta/recipes-kernel/lttng/lttng-modules/Update-vmscan-instrumentation-to-3.16-kernel.patch new file mode 100644 index 0000000..5f02270 --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/Update-vmscan-instrumentation-to-3.16-kernel.patch @@ -0,0 +1,70 @@ +From 5defe623568273e9b87da1b817e373ff087fd862 Mon Sep 17 00:00:00 2001 +From: Mathieu Desnoyers +Date: Sun, 13 Jul 2014 13:27:01 -0400 +Subject: [PATCH 1/2] Update vmscan instrumentation to 3.16 kernel + +Signed-off-by: Mathieu Desnoyers +--- + instrumentation/events/lttng-module/vmscan.h | 39 ++++++++++++++++++++++++++++ + 1 file changed, 39 insertions(+) + +diff --git a/instrumentation/events/lttng-module/vmscan.h b/instrumentation/events/lttng-module/vmscan.h +index 1fd50ba7c235..0b4aa56761dc 100644 +--- a/instrumentation/events/lttng-module/vmscan.h ++++ b/instrumentation/events/lttng-module/vmscan.h +@@ -238,6 +238,44 @@ TRACE_EVENT(mm_shrink_slab_start, + __entry->total_scan) + ) + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) ++TRACE_EVENT(mm_shrink_slab_end, ++ TP_PROTO(struct shrinker *shr, int nid, int shrinker_retval, ++ long unused_scan_cnt, long new_scan_cnt, long total_scan), ++ ++ TP_ARGS(shr, nid, shrinker_retval, unused_scan_cnt, new_scan_cnt, ++ total_scan), ++ ++ TP_STRUCT__entry( ++ __field(struct shrinker *, shr) ++ __field(int, nid) ++ __field(void *, shrink) ++ __field(long, unused_scan) ++ __field(long, new_scan) ++ __field(int, retval) ++ __field(long, total_scan) ++ ), ++ ++ TP_fast_assign( ++ tp_assign(shr, shr) ++ tp_assign(nid, nid) ++ tp_assign(shrink, shr->scan_objects) ++ tp_assign(unused_scan, unused_scan_cnt) ++ tp_assign(new_scan, new_scan_cnt) ++ tp_assign(retval, shrinker_retval) ++ tp_assign(total_scan, total_scan) ++ ), ++ ++ TP_printk("%pF %p: nid %d unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d", ++ __entry->shrink, ++ __entry->shr, ++ __entry->nid, ++ __entry->unused_scan, ++ __entry->new_scan, ++ __entry->total_scan, ++ __entry->retval) ++) ++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */ + TRACE_EVENT(mm_shrink_slab_end, + TP_PROTO(struct shrinker *shr, int shrinker_retval, + long unused_scan_cnt, long new_scan_cnt), +@@ -274,6 +312,7 @@ TRACE_EVENT(mm_shrink_slab_end, + __entry->total_scan, + __entry->retval) + ) ++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */ + #endif + + DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template, +-- +1.8.1.2 + diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb b/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb deleted file mode 100644 index 81a3983..0000000 --- a/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb +++ /dev/null @@ -1,36 +0,0 @@ -SECTION = "devel" -SUMMARY = "Linux Trace Toolkit KERNEL MODULE" -DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules" -LICENSE = "LGPLv2.1 & GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1412caf5a1aa90d6a48588a4794c0eac \ - file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \ - file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad" - -DEPENDS = "virtual/kernel" - -inherit module - -SRCREV = "eef112db0e63feff6cbf0a98cda9af607cefb377" -PV = "2.3.3" - -SRC_URI = "git://git.lttng.org/lttng-modules.git;branch=stable-2.3 \ - file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch \ - file://bio-bvec-iter.patch \ - " - -export INSTALL_MOD_DIR="kernel/lttng-modules" -export KERNEL_SRC="${STAGING_KERNEL_DIR}" - - -S = "${WORKDIR}/git" - -do_install_append() { - # Delete empty directories to avoid QA failures if no modules were built - find ${D}/lib -depth -type d -empty -exec rmdir {} \; -} - -python do_package_prepend() { - if not os.path.exists(os.path.join(d.getVar('D', True), 'lib/modules')): - bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN', True)) -} - diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.4.1.bb b/meta/recipes-kernel/lttng/lttng-modules_2.4.1.bb deleted file mode 100644 index 5e05ffc..0000000 --- a/meta/recipes-kernel/lttng/lttng-modules_2.4.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -SECTION = "devel" -SUMMARY = "Linux Trace Toolkit KERNEL MODULE" -DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules" -LICENSE = "LGPLv2.1 & GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1412caf5a1aa90d6a48588a4794c0eac \ - file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \ - file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad" - -DEPENDS = "virtual/kernel" - -inherit module - -SRCREV = "a0383def517e3aebbbcebae61fe2bcfb50d31e71" -PV = "2.4.1" - -# lttng currently blacklists arm with gcc-4.8 -COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips).*-linux' - -SRC_URI = "git://git.lttng.org/lttng-modules.git;branch=stable-2.4 \ - file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch \ - " - -export INSTALL_MOD_DIR="kernel/lttng-modules" -export KERNEL_SRC="${STAGING_KERNEL_DIR}" - - -S = "${WORKDIR}/git" - -do_install_append() { - # Delete empty directories to avoid QA failures if no modules were built - find ${D}/lib -depth -type d -empty -exec rmdir {} \; -} - -python do_package_prepend() { - if not os.path.exists(os.path.join(d.getVar('D', True), 'lib/modules')): - bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN', True)) -} - diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb b/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb new file mode 100644 index 0000000..5a99a5a --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb @@ -0,0 +1,39 @@ +SECTION = "devel" +SUMMARY = "Linux Trace Toolkit KERNEL MODULE" +DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules" +LICENSE = "LGPLv2.1 & GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1412caf5a1aa90d6a48588a4794c0eac \ + file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \ + file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad" + +DEPENDS = "virtual/kernel" + +inherit module + +SRCREV = "789fd1d06d07aeb9a403bdce1b3318560cfc6eca" + +# lttng currently blacklists arm with gcc-4.8 +COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips).*-linux' + +SRC_URI = "git://git.lttng.org/lttng-modules.git;branch=stable-2.5 \ + file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch \ + file://Update-compaction-instrumentation-to-3.16-kernel.patch \ + file://Update-vmscan-instrumentation-to-3.16-kernel.patch \ + " + +export INSTALL_MOD_DIR="kernel/lttng-modules" +export KERNEL_SRC="${STAGING_KERNEL_DIR}" + + +S = "${WORKDIR}/git" + +do_install_append() { + # Delete empty directories to avoid QA failures if no modules were built + find ${D}/lib -depth -type d -empty -exec rmdir {} \; +} + +python do_package_prepend() { + if not os.path.exists(os.path.join(d.getVar('D', True), 'lib/modules')): + bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN', True)) +} + -- cgit v1.1