[OE-core] [PATCH] linux-yocto/5.2: fix strace/ptrace long runtime issues

bruce.ashfield at gmail.com bruce.ashfield at gmail.com
Tue Oct 8 14:26:29 UTC 2019


From: Bruce Ashfield <bruce.ashfield at gmail.com>

Bumping SRCREVs to pickup the following kernel commit:

[
    Author: Bruce Ashfield <bruce.ashfield at gmail.com>
    Date:   Tue Oct 8 13:15:46 2019 +0000

        signal/ptrace: fix cgroup2/freezer long runtimes

        As reported in the thread: https://lkml.org/lkml/2019/10/1/789, in
        kernels with commit 76f969e8948d82 [cgroup: cgroup v2 freezer], we
        were seeing much longer runtime in strace/ptrace tests (4 minutes
        versus 4 seconds).

        The issue only manifests if CONFIG_PREEMPT is enabled, which is in
        all of the default configurations.

        As sugggested in the thread, the movement of preempt_enable_no_resched()
        until after the cgroup is frozen returns the behaviour to pre-5.2
        runtimes.

        Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
]

With this change in place, our times are back to normal:

   root at qemux86-64:~# cd /usr/lib/strace/ptest/tests
   root at qemux86-64:/usr/lib/strace/ptest/tests# time ../strace -o log -qq -esignal=none -e/clock ./printpath-umovestr>ttt

   real    0m3.909s
   user    0m0.534s
   sys     0m3.342s

This will eventually loop around via -stable, or may need future
tweaks, but it does address the immediate issue/symptom that we are
seeing, with no obvious side effects.

[YOCTO #13556]

Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
---
 .../linux/linux-yocto-rt_5.2.bb               |  4 ++--
 .../linux/linux-yocto-tiny_5.2.bb             |  6 +++---
 meta/recipes-kernel/linux/linux-yocto_5.2.bb  | 20 +++++++++----------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb
index acae24edb1..e3fe54441f 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb
@@ -11,8 +11,8 @@ python () {
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "90a5890111ca601af1cfba50939d4003fa8d9ce8"
-SRCREV_meta ?= "56f5bc749e5a8e40b55a3819288ac277813ec5ef"
+SRCREV_machine ?= "0a9f6ee2443b54c614107728ca76485916010023"
+SRCREV_meta ?= "b867b78b5019ae455af97dec7794cff7527d7624"
 
 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-5.2;destsuffix=${KMETA}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb
index e6eb78198c..f3f546866b 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb
@@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "e31887832108a1dfac19601459a84a2fa38207f7"
-SRCREV_machine ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_meta ?= "56f5bc749e5a8e40b55a3819288ac277813ec5ef"
+SRCREV_machine_qemuarm ?= "aaa66d462ec17345dadd69b1ec0f3fcc83e82536"
+SRCREV_machine ?= "255a750d28cd45df8923c3aba1e82c322757a50d"
+SRCREV_meta ?= "b867b78b5019ae455af97dec7794cff7527d7624"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/meta/recipes-kernel/linux/linux-yocto_5.2.bb b/meta/recipes-kernel/linux/linux-yocto_5.2.bb
index 49b14b6185..1a2c3ffcd2 100644
--- a/meta/recipes-kernel/linux/linux-yocto_5.2.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_5.2.bb
@@ -12,16 +12,16 @@ KBRANCH_qemux86  ?= "v5.2/standard/base"
 KBRANCH_qemux86-64 ?= "v5.2/standard/base"
 KBRANCH_qemumips64 ?= "v5.2/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "d956bb318771761069228fc70fea722ceabecb75"
-SRCREV_machine_qemuarm64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_qemumips ?= "9e95334637a4a85b19bea120f9027ff0028d7069"
-SRCREV_machine_qemuppc ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_qemuriscv64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_qemux86 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_qemux86-64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_qemumips64 ?= "29a8d126f60d1b9e9cf0985b38da2033ebde25db"
-SRCREV_machine ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_meta ?= "56f5bc749e5a8e40b55a3819288ac277813ec5ef"
+SRCREV_machine_qemuarm ?= "47b80ef7bd932830f299ed76e2302df631ae4fbe"
+SRCREV_machine_qemuarm64 ?= "255a750d28cd45df8923c3aba1e82c322757a50d"
+SRCREV_machine_qemumips ?= "45ff64cb3f87c38db6f46353ea93005d049b0cf6"
+SRCREV_machine_qemuppc ?= "255a750d28cd45df8923c3aba1e82c322757a50d"
+SRCREV_machine_qemuriscv64 ?= "255a750d28cd45df8923c3aba1e82c322757a50d"
+SRCREV_machine_qemux86 ?= "255a750d28cd45df8923c3aba1e82c322757a50d"
+SRCREV_machine_qemux86-64 ?= "255a750d28cd45df8923c3aba1e82c322757a50d"
+SRCREV_machine_qemumips64 ?= "ea0fd387a459803ac60e9b8a1729f2fc7d3215f1"
+SRCREV_machine ?= "255a750d28cd45df8923c3aba1e82c322757a50d"
+SRCREV_meta ?= "b867b78b5019ae455af97dec7794cff7527d7624"
 
 # remap qemuarm to qemuarma15 for the 5.2 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
-- 
2.19.1



More information about the Openembedded-core mailing list