Files
poky/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb
Bruce Ashfield 4ed858bc76 linux-yocto/3.10: fix long perf compile times
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>
2013-09-18 19:49:41 +01:00

28 lines
1006 B
BlitzBasic

require recipes-kernel/linux/linux-yocto.inc
KBRANCH = "standard/preempt-rt/base"
KBRANCH_qemuppc = "standard/preempt-rt/qemuppc"
SRCREV_machine ?= "f1e003e9441f0366d7b9a2209ef3108438745ea3"
SRCREV_machine_qemuppc ?= "12be459359d5b20dbf856aa3649304c6f618d420"
SRCREV_meta ?= "4f689aa30a2c9cf5dceb2fa3696d2cb208ee9173"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
LINUX_VERSION ?= "3.10.11"
PV = "${LINUX_VERSION}+git${SRCPV}"
KMETA = "meta"
LINUX_KERNEL_TYPE = "preempt-rt"
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc"
KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"