diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2010-08-05 16:38:23 -0400 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-09 17:20:36 +0100 |
commit | a924ea57ffd876dabc76d7bfb424b634c022063f (patch) | |
tree | 99389bc3b919021c2bd2bb8e4c66291891542440 | |
parent | 55011c1f4b4c20fa5b91f0b38a2910c3f7a01383 (diff) | |
download | poky-a924ea57ffd876dabc76d7bfb424b634c022063f.tar.gz |
perf: performance analysis tools for Linux
Performance counters for Linux are a new kernel-based subsystem
that provide a framework for all things performance analysis. It
covers hardware level (CPU/PMU, Performance Monitoring Unit) features
and software features (software counters, tracepoints) as well.
To enforce the coupling between userspace and kernel, this
commit introduces perf as a subpackage of the linux-wrs tree.
perf is built directly inside the kernel tree (and hence picks
up all appropriate patches), but is packaged as a separate
utility that can be added to the rootfs and used to analyze
the kernel.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r-- | meta/packages/linux/linux-wrs_git.bb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-wrs_git.bb b/meta/packages/linux/linux-wrs_git.bb index ddd387743b..4f1808930e 100644 --- a/meta/packages/linux/linux-wrs_git.bb +++ b/meta/packages/linux/linux-wrs_git.bb | |||
@@ -95,6 +95,14 @@ do_wrlinux_link_vmlinux() { | |||
95 | ln -sf ../../../vmlinux | 95 | ln -sf ../../../vmlinux |
96 | } | 96 | } |
97 | 97 | ||
98 | do_compile_perf() { | ||
99 | oe_runmake -C ${S}/tools/perf CC="${KERNEL_CC}" LD="${KERNEL_LD}" prefix=${prefix} | ||
100 | } | ||
101 | |||
102 | do_install_perf() { | ||
103 | oe_runmake -C ${S}/tools/perf CC="${KERNEL_CC}" LD="${KERNEL_LD}" prefix=${prefix} DESTDIR=${D} install | ||
104 | } | ||
105 | |||
98 | do_wrlinux_configme[depends] = "kern-tools-native:do_populate_sysroot" | 106 | do_wrlinux_configme[depends] = "kern-tools-native:do_populate_sysroot" |
99 | addtask wrlinux_configme before do_configure after do_patch | 107 | addtask wrlinux_configme before do_configure after do_patch |
100 | addtask wrlinux_link_vmlinux after do_compile before do_install | 108 | addtask wrlinux_link_vmlinux after do_compile before do_install |
@@ -104,3 +112,20 @@ inherit kernel | |||
104 | 112 | ||
105 | # object files are in B, not S, so we need to override this | 113 | # object files are in B, not S, so we need to override this |
106 | do_deploy[dirs] = "${B}" | 114 | do_deploy[dirs] = "${B}" |
115 | |||
116 | # perf subpackage variables | ||
117 | PROVIDES += perf | ||
118 | |||
119 | PACKAGES =+ "perf" | ||
120 | FILES_perf = "${bindir}/* \ | ||
121 | ${libexecdir}" | ||
122 | |||
123 | |||
124 | # perf tasks | ||
125 | addtask compile_perf after do_compile before do_install | ||
126 | addtask install_perf after do_install before do_deploy | ||
127 | |||
128 | do_compile_perf[depends] = "glibc:do_populate_sysroot" | ||
129 | do_compile_perf[depends] =+ "elfutils:do_populate_sysroot" | ||
130 | do_compile_perf[depends] =+ "perl:do_populate_sysroot" | ||
131 | do_compile_perf[depends] =+ "python:do_populate_sysroot" | ||