diff options
3 files changed, 150 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index e62b1eb467..841e1cd1b3 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb | |||
| @@ -596,6 +596,7 @@ RDEPENDS_packagegroup-meta-oe-kernel ="\ | |||
| 596 | minicoredumper \ | 596 | minicoredumper \ |
| 597 | oprofile \ | 597 | oprofile \ |
| 598 | spidev-test \ | 598 | spidev-test \ |
| 599 | trace-cmd \ | ||
| 599 | " | 600 | " |
| 600 | RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " intel-speed-select ipmiutil pm-graph turbostat" | 601 | RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " intel-speed-select ipmiutil pm-graph turbostat" |
| 601 | RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat" | 602 | RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat" |
diff --git a/meta-oe/recipes-kernel/trace-cmd/files/0001-trace-cmd-make-it-build-with-musl.patch b/meta-oe/recipes-kernel/trace-cmd/files/0001-trace-cmd-make-it-build-with-musl.patch new file mode 100644 index 0000000000..220991804b --- /dev/null +++ b/meta-oe/recipes-kernel/trace-cmd/files/0001-trace-cmd-make-it-build-with-musl.patch | |||
| @@ -0,0 +1,132 @@ | |||
| 1 | From b63f13d2df91ede45288653b21e0d30a6b45f2ac Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Beniamin Sandu <beniaminsandu@gmail.com> | ||
| 3 | Date: Mon, 30 Nov 2020 18:24:48 +0200 | ||
| 4 | Subject: [PATCH] trace-cmd: make it build with musl | ||
| 5 | |||
| 6 | Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com> | ||
| 7 | --- | ||
| 8 | include/trace-cmd/trace-cmd.h | 1 + | ||
| 9 | lib/trace-cmd/trace-msg.c | 1 + | ||
| 10 | lib/trace-cmd/trace-plugin.c | 2 ++ | ||
| 11 | lib/tracefs/tracefs-events.c | 1 + | ||
| 12 | tracecmd/trace-agent.c | 1 + | ||
| 13 | tracecmd/trace-setup-guest.c | 1 + | ||
| 14 | tracecmd/trace-tsync.c | 15 ++++++++++----- | ||
| 15 | 7 files changed, 17 insertions(+), 5 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/include/trace-cmd/trace-cmd.h b/include/trace-cmd/trace-cmd.h | ||
| 18 | index f3c95f3..a697905 100644 | ||
| 19 | --- a/include/trace-cmd/trace-cmd.h | ||
| 20 | +++ b/include/trace-cmd/trace-cmd.h | ||
| 21 | @@ -6,6 +6,7 @@ | ||
| 22 | #ifndef _TRACE_CMD_H | ||
| 23 | #define _TRACE_CMD_H | ||
| 24 | |||
| 25 | +#include <sys/types.h> | ||
| 26 | #include "traceevent/event-parse.h" | ||
| 27 | |||
| 28 | #define TRACECMD_MAGIC { 23, 8, 68 } | ||
| 29 | diff --git a/lib/trace-cmd/trace-msg.c b/lib/trace-cmd/trace-msg.c | ||
| 30 | index 4a0bfa9..fc1f2c7 100644 | ||
| 31 | --- a/lib/trace-cmd/trace-msg.c | ||
| 32 | +++ b/lib/trace-cmd/trace-msg.c | ||
| 33 | @@ -21,6 +21,7 @@ | ||
| 34 | #include <arpa/inet.h> | ||
| 35 | #include <sys/types.h> | ||
| 36 | #include <linux/types.h> | ||
| 37 | +#include <byteswap.h> | ||
| 38 | |||
| 39 | #include "trace-write-local.h" | ||
| 40 | #include "trace-cmd-local.h" | ||
| 41 | diff --git a/lib/trace-cmd/trace-plugin.c b/lib/trace-cmd/trace-plugin.c | ||
| 42 | index 92f9edf..c2ef3dc 100644 | ||
| 43 | --- a/lib/trace-cmd/trace-plugin.c | ||
| 44 | +++ b/lib/trace-cmd/trace-plugin.c | ||
| 45 | @@ -8,6 +8,8 @@ | ||
| 46 | #include <dlfcn.h> | ||
| 47 | #include <sys/stat.h> | ||
| 48 | #include <libgen.h> | ||
| 49 | +#include <limits.h> | ||
| 50 | + | ||
| 51 | #include "trace-cmd.h" | ||
| 52 | #include "trace-local.h" | ||
| 53 | |||
| 54 | diff --git a/lib/tracefs/tracefs-events.c b/lib/tracefs/tracefs-events.c | ||
| 55 | index 8e825f5..a8d8560 100644 | ||
| 56 | --- a/lib/tracefs/tracefs-events.c | ||
| 57 | +++ b/lib/tracefs/tracefs-events.c | ||
| 58 | @@ -13,6 +13,7 @@ | ||
| 59 | #include <errno.h> | ||
| 60 | #include <sys/stat.h> | ||
| 61 | #include <fcntl.h> | ||
| 62 | +#include <limits.h> | ||
| 63 | |||
| 64 | #include "kbuffer.h" | ||
| 65 | #include "tracefs.h" | ||
| 66 | diff --git a/tracecmd/trace-agent.c b/tracecmd/trace-agent.c | ||
| 67 | index b581696..abfefac 100644 | ||
| 68 | --- a/tracecmd/trace-agent.c | ||
| 69 | +++ b/tracecmd/trace-agent.c | ||
| 70 | @@ -20,6 +20,7 @@ | ||
| 71 | #include <unistd.h> | ||
| 72 | #include <linux/vm_sockets.h> | ||
| 73 | #include <pthread.h> | ||
| 74 | +#include <limits.h> | ||
| 75 | |||
| 76 | #include "trace-local.h" | ||
| 77 | #include "trace-msg.h" | ||
| 78 | diff --git a/tracecmd/trace-setup-guest.c b/tracecmd/trace-setup-guest.c | ||
| 79 | index 899848c..99595a1 100644 | ||
| 80 | --- a/tracecmd/trace-setup-guest.c | ||
| 81 | +++ b/tracecmd/trace-setup-guest.c | ||
| 82 | @@ -13,6 +13,7 @@ | ||
| 83 | #include <string.h> | ||
| 84 | #include <sys/stat.h> | ||
| 85 | #include <unistd.h> | ||
| 86 | +#include <limits.h> | ||
| 87 | |||
| 88 | #include "trace-local.h" | ||
| 89 | #include "trace-msg.h" | ||
| 90 | diff --git a/tracecmd/trace-tsync.c b/tracecmd/trace-tsync.c | ||
| 91 | index e639788..b8b5ac3 100644 | ||
| 92 | --- a/tracecmd/trace-tsync.c | ||
| 93 | +++ b/tracecmd/trace-tsync.c | ||
| 94 | @@ -104,13 +104,15 @@ int tracecmd_host_tsync(struct buffer_instance *instance, | ||
| 95 | |||
| 96 | pthread_attr_init(&attrib); | ||
| 97 | pthread_attr_setdetachstate(&attrib, PTHREAD_CREATE_JOINABLE); | ||
| 98 | - if (!get_first_cpu(&pin_mask, &mask_size)) | ||
| 99 | - pthread_attr_setaffinity_np(&attrib, mask_size, pin_mask); | ||
| 100 | |||
| 101 | ret = pthread_create(&instance->tsync_thread, &attrib, | ||
| 102 | tsync_host_thread, &instance->tsync); | ||
| 103 | - if (!ret) | ||
| 104 | + if (!ret) { | ||
| 105 | + if (!get_first_cpu(&pin_mask, &mask_size)) | ||
| 106 | + pthread_setaffinity_np(instance->tsync_thread, mask_size, pin_mask); | ||
| 107 | instance->tsync_thread_running = true; | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | if (pin_mask) | ||
| 111 | CPU_FREE(pin_mask); | ||
| 112 | pthread_attr_destroy(&attrib); | ||
| 113 | @@ -243,11 +245,14 @@ unsigned int tracecmd_guest_tsync(char *tsync_protos, | ||
| 114 | pthread_attr_init(&attrib); | ||
| 115 | tsync->sync_proto = proto; | ||
| 116 | pthread_attr_setdetachstate(&attrib, PTHREAD_CREATE_JOINABLE); | ||
| 117 | - if (!get_first_cpu(&pin_mask, &mask_size)) | ||
| 118 | - pthread_attr_setaffinity_np(&attrib, mask_size, pin_mask); | ||
| 119 | |||
| 120 | ret = pthread_create(thr_id, &attrib, tsync_agent_thread, tsync); | ||
| 121 | |||
| 122 | + if (!ret) { | ||
| 123 | + if (!get_first_cpu(&pin_mask, &mask_size)) | ||
| 124 | + pthread_setaffinity_np(*thr_id, mask_size, pin_mask); | ||
| 125 | + } | ||
| 126 | + | ||
| 127 | if (pin_mask) | ||
| 128 | CPU_FREE(pin_mask); | ||
| 129 | pthread_attr_destroy(&attrib); | ||
| 130 | -- | ||
| 131 | 2.25.1 | ||
| 132 | |||
diff --git a/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb b/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb new file mode 100644 index 0000000000..d39afff8e4 --- /dev/null +++ b/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | SUMMARY = "User-space front-end command-line tool for ftrace" | ||
| 2 | |||
| 3 | LICENSE = "GPLv2 & LGPLv2.1" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=873f48a813bded3de6ebc54e6880c4ac" | ||
| 5 | |||
| 6 | SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;branch=master \ | ||
| 7 | file://0001-trace-cmd-make-it-build-with-musl.patch" | ||
| 8 | |||
| 9 | SRCREV = "530b1a0caef39466e16bbd49de5afef89656f03f" | ||
| 10 | |||
| 11 | S = "${WORKDIR}/git" | ||
| 12 | |||
| 13 | do_install() { | ||
| 14 | oe_runmake etcdir=${sysconfdir} DESTDIR=${D} install | ||
| 15 | } | ||
| 16 | |||
| 17 | FILES_${PN} += "${libdir}/traceevent/plugins" | ||
