From 8d702d76ff68f6f496af212a3e8d12a0d40cac2f Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 8 Dec 2010 01:50:04 -0600 Subject: [PATCH] sysprof: add system-wide performance profiler for Linux. [sgw@linux.intel.com: alpha'ed poky-default-revision.inc and fix commit message] Signed-off-by: Tom Zanussi Signed-off-by: Saul Wold --- .../distro/include/poky-default-revisions.inc | 3 ++- meta/recipes-core/tasks/task-poky-tools.bb | 1 + .../sysprof/files/ppc-macro-fix.patch | 13 +++++++++++ .../sysprof/files/rmb-arm.patch | 18 +++++++++++++++ .../sysprof/files/rmb-mips.patch | 20 +++++++++++++++++ meta/recipes-kernel/sysprof/sysprof_git.bb | 22 +++++++++++++++++++ 6 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-kernel/sysprof/files/ppc-macro-fix.patch create mode 100644 meta/recipes-kernel/sysprof/files/rmb-arm.patch create mode 100644 meta/recipes-kernel/sysprof/files/rmb-mips.patch create mode 100644 meta/recipes-kernel/sysprof/sysprof_git.bb diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc index 7f3468d11d..58a0a3d516 100644 --- a/meta/conf/distro/include/poky-default-revisions.inc +++ b/meta/conf/distro/include/poky-default-revisions.inc @@ -1,5 +1,6 @@ SRCREV_pn-aaina ??= "4b267533ce16656cba4104fc39dc12709c1bdddf" SRCDATE_abiword ??= "20070130" +SRCREV_pn-blktrace ??= "1e09f6e9012826fca69fa07222b7bc53c3e629ee" SRCREV_pn-calibrateproto ??= "1da6fd1e2c7a49648245c98481fabea8b9690a8c" SRCREV_pn-clipboard-manager ??= "14994" SRCREV_pn-clutter ??= "e957e277b8a4893ce8c99e94402036d42a8b3748" @@ -152,6 +153,7 @@ SRCREV_pn-sat-solver = "aa799f7bae0ec055e0e527203635001bb7346dbc" SRCREV_pn-screenshot ??= "292" SRCREV_pn-settings-daemon ??= "2059" SRCREV_pn-swabber-native ??= "1ffb646ffd4266afae181286e45d1b6f7965c47e" +SRCREV_pn-sysprof ??= "38a6af1f0a45e528fd2842983da71e0f23c70d6a" SRCREV_pn-table ??= "4b267533ce16656cba4104fc39dc12709c1bdddf" SRCREV_pn-tasks ??= "ea52d46d691c5fce4473ea4e24a35411381f3a65" SRCREV_pn-trace-cmd ??= "0d252224626bd6926324f023a65f20c165232891" @@ -178,5 +180,4 @@ SRCDATE_yaffs2-utils-native ??= "20071107" SRCDATE_yaffs2-utils ??= "20071107" SRCREV_pn-zaurusd ??= "358" SRCREV_pn-zypper ??= "9eb0e248e06c8d20ad054be2439149d9ede37531" -SRCREV_pn-blktrace ??= "1e09f6e9012826fca69fa07222b7bc53c3e629ee" diff --git a/meta/recipes-core/tasks/task-poky-tools.bb b/meta/recipes-core/tasks/task-poky-tools.bb index 029790c804..e507ce46dd 100644 --- a/meta/recipes-core/tasks/task-poky-tools.bb +++ b/meta/recipes-core/tasks/task-poky-tools.bb @@ -49,6 +49,7 @@ RRECOMMENDS_task-poky-tools-profile = "\ perf \ trace-cmd \ kernel-module-oprofile \ + sysprof \ " # exmap-console diff --git a/meta/recipes-kernel/sysprof/files/ppc-macro-fix.patch b/meta/recipes-kernel/sysprof/files/ppc-macro-fix.patch new file mode 100644 index 0000000000..a2e015a0c5 --- /dev/null +++ b/meta/recipes-kernel/sysprof/files/ppc-macro-fix.patch @@ -0,0 +1,13 @@ +Index: git/collector.c +=================================================================== +--- git.orig/collector.c 2010-12-09 19:42:12.292040001 -0600 ++++ git/collector.c 2010-12-09 19:42:23.352039997 -0600 +@@ -175,7 +175,7 @@ + #define __NR_perf_counter_open 337 + #elif defined(__hppa__) + #define __NR_perf_counter_open 318 +-#elif defined(__ppc__) || defined(__ppc64__) ++#elif defined(__powerpc__) || defined(__powerpc64__) + #define __NR_perf_counter_open 319 + #elif defined(__s390__) + #define __NR_perf_counter_open 331 diff --git a/meta/recipes-kernel/sysprof/files/rmb-arm.patch b/meta/recipes-kernel/sysprof/files/rmb-arm.patch new file mode 100644 index 0000000000..60e7f707a3 --- /dev/null +++ b/meta/recipes-kernel/sysprof/files/rmb-arm.patch @@ -0,0 +1,18 @@ +Index: git/util.h +=================================================================== +--- git.orig/util.h 2010-12-07 22:41:57.156243001 -0600 ++++ git/util.h 2010-12-07 22:43:47.616243002 -0600 +@@ -37,4 +37,13 @@ + #define cpu_relax() asm volatile("" ::: "memory"); + #endif + ++#ifdef __arm__ ++/* ++ * Use the __kuser_memory_barrier helper in the CPU helper page. See ++ * arch/arm/kernel/entry-armv.S in the kernel source for details. ++ */ ++#define rmb() ((void(*)(void))0xffff0fa0)() ++#define cpu_relax() asm volatile("":::"memory") ++#endif ++ + #endif diff --git a/meta/recipes-kernel/sysprof/files/rmb-mips.patch b/meta/recipes-kernel/sysprof/files/rmb-mips.patch new file mode 100644 index 0000000000..84f968ef00 --- /dev/null +++ b/meta/recipes-kernel/sysprof/files/rmb-mips.patch @@ -0,0 +1,20 @@ +Index: git/util.h +=================================================================== +--- git.orig/util.h 2010-12-08 01:22:44.486243001 -0600 ++++ git/util.h 2010-12-08 01:23:27.836243001 -0600 +@@ -37,4 +37,15 @@ + #define cpu_relax() asm volatile("" ::: "memory"); + #endif + ++#ifdef __mips__ ++#define rmb() asm volatile( \ ++ ".set mips2\n\t" \ ++ "sync\n\t" \ ++ ".set mips0" \ ++ : /* no output */ \ ++ : /* no input */ \ ++ : "memory") ++#define cpu_relax() asm volatile("" ::: "memory") ++#endif ++ + #endif diff --git a/meta/recipes-kernel/sysprof/sysprof_git.bb b/meta/recipes-kernel/sysprof/sysprof_git.bb new file mode 100644 index 0000000000..d649c16541 --- /dev/null +++ b/meta/recipes-kernel/sysprof/sysprof_git.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "sysprof - System-wide Performance Profiler for Linux" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "gtk+ libglade" + +PR = r0 +PV = "1.1.6+git${SRCPV}" + +SRC_URI = "git://git.gnome.org/sysprof;protocol=git \ + " + +SRC_URI_append_arm = " file://rmb-arm.patch" +SRC_URI_append_mips = " file://rmb-mips.patch" +SRC_URI_append_powerpc = " file://ppc-macro-fix.patch" + +SRC_URI[md5sum] = "80902a7b3d6f7cb83eb6b47e87538747" +SRC_URI[sha256sum] = "1c6403278fa4f3b37a1fb9f0784e496dce1703fe84ac03b2650bf469133a0cb3" + +S = "${WORKDIR}/git" + +inherit autotools