diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-09-18 18:09:54 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-18 19:49:41 +0100 |
commit | 4ed858bc765ec6f354731f6c6777b07ce51b4792 (patch) | |
tree | 6004c2cb1285b0c8d03b0f9a335ab0c978320e46 | |
parent | 2ad268ff8e464929c84577a8eb8d0458f2351a2e (diff) | |
download | poky-4ed858bc765ec6f354731f6c6777b07ce51b4792.tar.gz |
linux-yocto/3.10: fix long perf compile times1.5_M5.rc3
perf's builtin-sched.c triggers extremly long build times on some
architectures due to gcc 4.7+ var-tracking functionality.
To fix this, we can cherry pick the 3.12 commit:
f36f83f94 [perf sched: Move struct perf_sched definition out of cmd_sched()]
With this change build times are reduced from 15 to 20 minutes for qemuarm to:
real 2m19.940s
user 1m35.438s
sys 0m11.165s
For kernel's that are not carrying this patch, the following can be added
to the perf recipe to also fix the issue:
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -68,6 +68,7 @@ EXTRA_OEMAKE = \
CC="${CC}" \
AR="${AR}" \
perfexecdir=${libexecdir} \
+ EXTRA_CFLAGS="-fno-var-tracking" \
NO_GTK2=1 ${TUI_DEFINES} NO_DWARF=1 ${SCRIPTING_DEFINES} \
(From OE-Core rev: 82ad5305381c2f541ef051a8fc28243cd91776fe)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 4 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | 2 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto_3.10.bb | 14 |
3 files changed, 10 insertions, 10 deletions
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb index 65fb5f050d..b6ad4d4b5b 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | |||
@@ -3,8 +3,8 @@ require recipes-kernel/linux/linux-yocto.inc | |||
3 | KBRANCH = "standard/preempt-rt/base" | 3 | KBRANCH = "standard/preempt-rt/base" |
4 | KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" | 4 | KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" |
5 | 5 | ||
6 | SRCREV_machine ?= "4de6b6b24c44ef644b46405a85c550128d4a779a" | 6 | SRCREV_machine ?= "f1e003e9441f0366d7b9a2209ef3108438745ea3" |
7 | SRCREV_machine_qemuppc ?= "24a1786e5ed0d479638af5738375e396bf4c922c" | 7 | SRCREV_machine_qemuppc ?= "12be459359d5b20dbf856aa3649304c6f618d420" |
8 | SRCREV_meta ?= "4f689aa30a2c9cf5dceb2fa3696d2cb208ee9173" | 8 | SRCREV_meta ?= "4f689aa30a2c9cf5dceb2fa3696d2cb208ee9173" |
9 | 9 | ||
10 | SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" | 10 | SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" |
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb index 4b33f3c3e0..15ae4c5672 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | |||
@@ -9,7 +9,7 @@ LINUX_VERSION ?= "3.10.11" | |||
9 | 9 | ||
10 | KMETA = "meta" | 10 | KMETA = "meta" |
11 | 11 | ||
12 | SRCREV_machine ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577" | 12 | SRCREV_machine ?= "e1aa804148370cda6f85640281af156ffa007d52" |
13 | SRCREV_meta ?= "4f689aa30a2c9cf5dceb2fa3696d2cb208ee9173" | 13 | SRCREV_meta ?= "4f689aa30a2c9cf5dceb2fa3696d2cb208ee9173" |
14 | 14 | ||
15 | PV = "${LINUX_VERSION}+git${SRCPV}" | 15 | PV = "${LINUX_VERSION}+git${SRCPV}" |
diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb index 3e8b476376..5dea36f34e 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb | |||
@@ -3,13 +3,13 @@ require recipes-kernel/linux/linux-yocto.inc | |||
3 | KBRANCH_DEFAULT = "standard/base" | 3 | KBRANCH_DEFAULT = "standard/base" |
4 | KBRANCH = "${KBRANCH_DEFAULT}" | 4 | KBRANCH = "${KBRANCH_DEFAULT}" |
5 | 5 | ||
6 | SRCREV_machine_qemuarm ?= "4901b46258e7195bd4d4ff14a618a2cb71395bf3" | 6 | SRCREV_machine_qemuarm ?= "aa1fa3cec7bd6e47f29acc5b5fbffddc16569883" |
7 | SRCREV_machine_qemumips ?= "bc6be45f32ef091ff13b16ba0f74f611232e5d21" | 7 | SRCREV_machine_qemumips ?= "5b908fd12f60de1e51e932c5df477a49b0ab2b40" |
8 | SRCREV_machine_qemuppc ?= "789d821269f0496e95ed953f2d1126c4eb39c591" | 8 | SRCREV_machine_qemuppc ?= "e80029ac30022c554e916ed438435ecc03cc2cea" |
9 | SRCREV_machine_qemux86 ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577" | 9 | SRCREV_machine_qemux86 ?= "e1aa804148370cda6f85640281af156ffa007d52" |
10 | SRCREV_machine_qemux86-64 ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577" | 10 | SRCREV_machine_qemux86-64 ?= "e1aa804148370cda6f85640281af156ffa007d52" |
11 | SRCREV_machine_qemumips64 ?= "6b3a777e3724d30ba03d88d75698fa0734c5a73f" | 11 | SRCREV_machine_qemumips64 ?= "6973844d304411893420a7e57545edc4dc854bd7" |
12 | SRCREV_machine ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577" | 12 | SRCREV_machine ?= "e1aa804148370cda6f85640281af156ffa007d52" |
13 | SRCREV_meta ?= "4f689aa30a2c9cf5dceb2fa3696d2cb208ee9173" | 13 | SRCREV_meta ?= "4f689aa30a2c9cf5dceb2fa3696d2cb208ee9173" |
14 | 14 | ||
15 | SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" | 15 | SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" |