summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2014-07-17 15:15:32 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-07-25 15:33:56 +0100
commit1681c886b0dff0b8e7d3a3919eaaa38eb0cae3dd (patch)
treed73f7830b47d9de551eba57e52247ffea1af5f87
parentd90124c04225557467ceff9111f9e6e03c22a271 (diff)
downloadpoky-1681c886b0dff0b8e7d3a3919eaaa38eb0cae3dd.tar.gz
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 <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/Update-compaction-instrumentation-to-3.16-kernel.patch83
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/Update-vmscan-instrumentation-to-3.16-kernel.patch70
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb36
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb (renamed from meta/recipes-kernel/lttng/lttng-modules_2.4.1.bb)7
4 files changed, 157 insertions, 39 deletions
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 0000000000..0a056a9475
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/Update-compaction-instrumentation-to-3.16-kernel.patch
@@ -0,0 +1,83 @@
1From 0007344741ef65259bc52dea72259173dfbf96c0 Mon Sep 17 00:00:00 2001
2From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3Date: Sun, 13 Jul 2014 13:33:21 -0400
4Subject: [PATCH 2/2] Update compaction instrumentation to 3.16 kernel
5
6Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
7---
8 instrumentation/events/lttng-module/compaction.h | 45 +++++++++++++++++++++++-
9 1 file changed, 44 insertions(+), 1 deletion(-)
10
11diff --git a/instrumentation/events/lttng-module/compaction.h b/instrumentation/events/lttng-module/compaction.h
12index 1b237fa45ab0..22024e9ee582 100644
13--- a/instrumentation/events/lttng-module/compaction.h
14+++ b/instrumentation/events/lttng-module/compaction.h
15@@ -6,6 +6,7 @@
16
17 #include <linux/types.h>
18 #include <linux/tracepoint.h>
19+#include <linux/version.h>
20 #include <trace/events/gfpflags.h>
21
22 DECLARE_EVENT_CLASS(mm_compaction_isolate_template,
23@@ -45,6 +46,48 @@ DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_freepages,
24 TP_ARGS(nr_scanned, nr_taken)
25 )
26
27+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
28+TRACE_EVENT(mm_compaction_migratepages,
29+
30+ TP_PROTO(unsigned long nr_all,
31+ int migrate_rc,
32+ struct list_head *migratepages),
33+
34+ TP_ARGS(nr_all, migrate_rc, migratepages),
35+
36+ TP_STRUCT__entry(
37+ __field(unsigned long, nr_migrated)
38+ __field(unsigned long, nr_failed)
39+ ),
40+
41+ TP_fast_assign(
42+ tp_assign(nr_migrated,
43+ nr_all -
44+ (migrate_rc >= 0 ? migrate_rc :
45+ ({
46+ unsigned long nr_failed = 0;
47+ struct list_head *page_lru;
48+
49+ list_for_each(page_lru, migratepages)
50+ nr_failed++;
51+ nr_failed;
52+ })))
53+ tp_assign(nr_failed,
54+ ({
55+ unsigned long nr_failed = 0;
56+ struct list_head *page_lru;
57+
58+ list_for_each(page_lru, migratepages)
59+ nr_failed++;
60+ nr_failed;
61+ }))
62+ ),
63+
64+ TP_printk("nr_migrated=%lu nr_failed=%lu",
65+ __entry->nr_migrated,
66+ __entry->nr_failed)
67+)
68+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
69 TRACE_EVENT(mm_compaction_migratepages,
70
71 TP_PROTO(unsigned long nr_migrated,
72@@ -66,7 +109,7 @@ TRACE_EVENT(mm_compaction_migratepages,
73 __entry->nr_migrated,
74 __entry->nr_failed)
75 )
76-
77+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
78
79 #endif /* _TRACE_COMPACTION_H */
80
81--
821.8.1.2
83
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 0000000000..5f02270e89
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/Update-vmscan-instrumentation-to-3.16-kernel.patch
@@ -0,0 +1,70 @@
1From 5defe623568273e9b87da1b817e373ff087fd862 Mon Sep 17 00:00:00 2001
2From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3Date: Sun, 13 Jul 2014 13:27:01 -0400
4Subject: [PATCH 1/2] Update vmscan instrumentation to 3.16 kernel
5
6Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
7---
8 instrumentation/events/lttng-module/vmscan.h | 39 ++++++++++++++++++++++++++++
9 1 file changed, 39 insertions(+)
10
11diff --git a/instrumentation/events/lttng-module/vmscan.h b/instrumentation/events/lttng-module/vmscan.h
12index 1fd50ba7c235..0b4aa56761dc 100644
13--- a/instrumentation/events/lttng-module/vmscan.h
14+++ b/instrumentation/events/lttng-module/vmscan.h
15@@ -238,6 +238,44 @@ TRACE_EVENT(mm_shrink_slab_start,
16 __entry->total_scan)
17 )
18
19+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
20+TRACE_EVENT(mm_shrink_slab_end,
21+ TP_PROTO(struct shrinker *shr, int nid, int shrinker_retval,
22+ long unused_scan_cnt, long new_scan_cnt, long total_scan),
23+
24+ TP_ARGS(shr, nid, shrinker_retval, unused_scan_cnt, new_scan_cnt,
25+ total_scan),
26+
27+ TP_STRUCT__entry(
28+ __field(struct shrinker *, shr)
29+ __field(int, nid)
30+ __field(void *, shrink)
31+ __field(long, unused_scan)
32+ __field(long, new_scan)
33+ __field(int, retval)
34+ __field(long, total_scan)
35+ ),
36+
37+ TP_fast_assign(
38+ tp_assign(shr, shr)
39+ tp_assign(nid, nid)
40+ tp_assign(shrink, shr->scan_objects)
41+ tp_assign(unused_scan, unused_scan_cnt)
42+ tp_assign(new_scan, new_scan_cnt)
43+ tp_assign(retval, shrinker_retval)
44+ tp_assign(total_scan, total_scan)
45+ ),
46+
47+ TP_printk("%pF %p: nid %d unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d",
48+ __entry->shrink,
49+ __entry->shr,
50+ __entry->nid,
51+ __entry->unused_scan,
52+ __entry->new_scan,
53+ __entry->total_scan,
54+ __entry->retval)
55+)
56+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
57 TRACE_EVENT(mm_shrink_slab_end,
58 TP_PROTO(struct shrinker *shr, int shrinker_retval,
59 long unused_scan_cnt, long new_scan_cnt),
60@@ -274,6 +312,7 @@ TRACE_EVENT(mm_shrink_slab_end,
61 __entry->total_scan,
62 __entry->retval)
63 )
64+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
65 #endif
66
67 DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template,
68--
691.8.1.2
70
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 81a3983c64..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb
+++ /dev/null
@@ -1,36 +0,0 @@
1SECTION = "devel"
2SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
3DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
4LICENSE = "LGPLv2.1 & GPLv2"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=1412caf5a1aa90d6a48588a4794c0eac \
6 file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
7 file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad"
8
9DEPENDS = "virtual/kernel"
10
11inherit module
12
13SRCREV = "eef112db0e63feff6cbf0a98cda9af607cefb377"
14PV = "2.3.3"
15
16SRC_URI = "git://git.lttng.org/lttng-modules.git;branch=stable-2.3 \
17 file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch \
18 file://bio-bvec-iter.patch \
19 "
20
21export INSTALL_MOD_DIR="kernel/lttng-modules"
22export KERNEL_SRC="${STAGING_KERNEL_DIR}"
23
24
25S = "${WORKDIR}/git"
26
27do_install_append() {
28 # Delete empty directories to avoid QA failures if no modules were built
29 find ${D}/lib -depth -type d -empty -exec rmdir {} \;
30}
31
32python do_package_prepend() {
33 if not os.path.exists(os.path.join(d.getVar('D', True), 'lib/modules')):
34 bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN', True))
35}
36
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.4.1.bb b/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb
index 5e05ffc698..5a99a5adae 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.4.1.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.5.0.bb
@@ -10,14 +10,15 @@ DEPENDS = "virtual/kernel"
10 10
11inherit module 11inherit module
12 12
13SRCREV = "a0383def517e3aebbbcebae61fe2bcfb50d31e71" 13SRCREV = "789fd1d06d07aeb9a403bdce1b3318560cfc6eca"
14PV = "2.4.1"
15 14
16# lttng currently blacklists arm with gcc-4.8 15# lttng currently blacklists arm with gcc-4.8
17COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips).*-linux' 16COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips).*-linux'
18 17
19SRC_URI = "git://git.lttng.org/lttng-modules.git;branch=stable-2.4 \ 18SRC_URI = "git://git.lttng.org/lttng-modules.git;branch=stable-2.5 \
20 file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch \ 19 file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch \
20 file://Update-compaction-instrumentation-to-3.16-kernel.patch \
21 file://Update-vmscan-instrumentation-to-3.16-kernel.patch \
21 " 22 "
22 23
23export INSTALL_MOD_DIR="kernel/lttng-modules" 24export INSTALL_MOD_DIR="kernel/lttng-modules"