Files
poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
Bruce Ashfield ee3209bb62 linux-yocto-rt/4.19: fix merge conflict in lru_drain
Paul Gortmaker sent along the following fixup for 4.19-rt:

[
  Author: Paul Gortmaker <paul.gortmaker@windriver.com>
  Date:   Mon Apr 15 12:01:31 2019 -0400

    Revert "mm: handle lru_add_drain_all for UP properly"

    This reverts commit e6e9d6e290028b0a6b83b563fad9fafa7f1d515e.

    It was a 4.19.31 backport of commit 6ea183d60c46 ("mm: handle
    lru_add_drain_all for UP properly").  In summary, what that did
    was to fix a possible harmless WARN_ON on non-SMP, introduced at
    commit 4d43d395fed1 ("workqueue: Try to catch flush_work() without
    INIT_WORK().") by adding non-SMP variants of lru functions.

    The combination of that, with the -rt commit 473f14a9f234 ("mm:
    perform lru_add_drain_all() remotely") at the merge of the two
    results in the following build failure:

      mm/swap.c:736:2: error: #endif without #if

    since the -rt change wants RT specific lru and the stable backport
    wants non-SMP specific lru, and a chunk of the backport with
    an #ifdef CONFIG_SMP is missing.

    However, before we add a four way cluster of ifdeffery to handle all
    cases, we note 4d43d395fed1 was added to the v5.1 release, and it
    was not (currently) backported to any 4.19.x stable release - so it is
    unclear to me why this commit was ever backported to 4.19.31 at all.

    Further, we note this change was to mm/swap.c -- and by definition,
    any preempt-rt deployment that uses swap for anything other than a
    failure contingency mitigation is broken by design.

    Given all that, I decided that the best path forward was to revert
    the two of the three chunks of the backport that remain in the -rt
    branch, and return us to the pre-4.19.31 merge behaviour for -rt.

    Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
]

(From OE-Core rev: dfe57d439559cc7d1d662a64f0040cd176c1afa7)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-29 14:16:31 +01:00

44 lines
1.7 KiB
BlitzBasic

KBRANCH ?= "v4.19/standard/preempt-rt/base"
require recipes-kernel/linux/linux-yocto.inc
# Skip processing of this recipe if it is not explicitly specified as the
# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
# to build multiple virtual/kernel providers, e.g. as dependency of
# core-image-rt-sdk, core-image-rt.
python () {
if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
SRCREV_machine ?= "c279a81f1e654023c4cc78afa9f14350ee5f836f"
SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
LINUX_VERSION ?= "4.19.34"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
PV = "${LINUX_VERSION}+git${SRCPV}"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
LINUX_KERNEL_TYPE = "preempt-rt"
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"