next-20240822: rcu: Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.

Neil Armstrong neil.armstrong at linaro.org
Thu Aug 22 05:56:34 PDT 2024


Hi,

On 22/08/2024 13:16, Naresh Kamboju wrote:
> The following kernel crash was noticed on arm64 Rock-pi 4b,
> Qcomm dragonboard 410c and 845c devices while booting / loading kernel modules
> on today's Linux next-20240822.

I see the same crash log on the following devices built with next-20240822 and ARM64 defconfig:
- Libre Computer AML-S805X-AC (Amlogic S805X)
- BananaPi M2S (Amlogic A311D)
- Snapdragon DB410c
- Qcom SM8250-HDK

I do not see the same crash log, but the following board fails to complete boot:
- Banana Pi BPI-M5 (Amlogic S905X3)
- Libre Computer AML-S905X-CC (Amlogic S905X)
- Qcom SM8150-HDK
- Qcom DB845c
- Qcom SM8350-HDK
- Qcom SM8450-HDK
- Qcom SM8550-HDK
- Qcom SM8550-QRD
- Qcom SM8650-HDK
- Qcom SM8650-QRD

Neil

> 
> First seen on next-20240822.
>    Good: next-20240821
>    BAD:  next-20240822
> 
> Reported-by: Linux Kernel Functional Testing <lkft at linaro.org>
> 
> We are bisecting this problem.
> 
> Crash log:
> --------
> [    0.000000] Linux version 6.11.0-rc4-next-20240822
> (tuxmake at tuxmake) (Debian clang version 18.1.8
> (++20240731024919+3b5b5c1ec4a3-1~exp1~20240731145017.142), Debian LLD
> 18.1.8) #1 SMP PREEMPT @1724309008
> [    0.000000] KASLR disabled due to lack of seed
> [    0.000000] Machine model: Radxa ROCK Pi 4B
> ...
> [   16.923808] coresight-cpu-debug fe430000.debug: Coresight
> debug-CPU0 initialized
> [   16.933919] coresight-cpu-debug fe432000.debug: Coresight
> debug-CPU1 initialized
> [   16.935653] coresight-cpu-debug fe434000.debug: Coresight
> debug-CPU2 initialized
> [   16.937846] coresight-cpu-debug fe436000.debug: Coresight
> debug-CPU3 initialized
> [   16.939744] coresight-cpu-debug fe610000.debug: Coresight
> debug-CPU4 initialized
> [   16.942132] coresight-cpu-debug fe710000.debug: Coresight
> debug-CPU5 initialized
> [   37.987966] rcu: INFO: rcu_preempt self-detected stall on CPU
> [   37.989037] rcu: 2-...!: (5248 ticks this GP)
> idle=d1f4/1/0x4000000000000000 softirq=1552/1553 fqs=0
> [   37.990715] rcu: (t=5250 jiffies g=1269 q=784 ncpus=6)
> [   37.991667] rcu: rcu_preempt kthread timer wakeup didn't happen for
> 5249 jiffies! g1269 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
> [   37.993718] rcu: Possible timer handling issue on cpu=4 timer-softirq=296
> [   37.994966] rcu: rcu_preempt kthread starved for 5250 jiffies!
> g1269 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=4
> [   37.996844] rcu: Unless rcu_preempt kthread gets sufficient CPU
> time, OOM is now expected behavior.
> [   37.998499] rcu: RCU grace-period kthread stack dump:
> [   37.999419] task:rcu_preempt     state:I stack:0     pid:18
> tgid:18    ppid:2      flags:0x00000008
> [   38.001117] Call trace:
> [   38.001565]  __switch_to+0x15c/0x208
> [   38.002229]  __schedule+0x54c/0x9d0
> [   38.002870]  schedule+0x12c/0x1e0
> [   38.003479]  schedule_timeout+0x9c/0x1b0
> [   38.004202]  rcu_gp_fqs_loop+0x1e0/0x880
> [   38.004926]  rcu_gp_kthread+0x70/0x230
> [   38.005616]  kthread+0x104/0x198
> [   38.006209]  ret_from_fork+0x10/0x20
> [   38.006877] CPU: 2 UID: 0 PID: 237 Comm: (udev-worker) Not tainted
> 6.11.0-rc4-next-20240822 #1
> [   38.008442] Hardware name: Radxa ROCK Pi 4B (DT)
> [   38.009284] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [   38.010551] pc : smp_call_function_many_cond+0x468/0x6b8
> [   38.011521] lr : smp_call_function_many_cond+0x428/0x6b8
> [   38.012490] sp : ffff800083d1bb50
> [   38.013094] x29: ffff800083d1bb90 x28: 0000000000000006 x27: 0000000000000000
> [   38.014399] x26: ffff80008269e000 x25: 0000000000000000 x24: 0000000000000001
> [   38.015702] x23: ffff8000801bc470 x22: ffff800074e75000 x21: ffff0000f74d8c20
> [   38.017005] x20: ffff0000f746cb80 x19: ffff8000826a3470 x18: ffff80007afc2000
> [   38.018308] x17: 000000000909008e x16: 0000000000000000 x15: ffff8000816092a0
> [   38.019611] x14: 060a090000000000 x13: 0000000000000003 x12: 000000000000003f
> [   38.020914] x11: 0000000000000001 x10: 0000000000000000 x9 : 0000000000000011
> [   38.022218] x8 : ffff0000f74b6c28 x7 : 0000000000000000 x6 : 0000000000000080
> [   38.023520] x5 : 000000000000003f x4 : 0000000000000000 x3 : 0000000000000006
> [   38.024823] x2 : 0000000000000004 x1 : 0000000000000004 x0 : 0000000000000004
> [   38.026126] Call trace:
> [   38.026574]  smp_call_function_many_cond+0x468/0x6b8
> [   38.027481]  kick_all_cpus_sync+0x44/0x78
> [   38.028216]  flush_module_icache+0x38/0xe0
> [   38.028965]  load_module+0x1374/0x1778
> [   38.029654]  __arm64_sys_finit_module+0x238/0x348
> [   38.030516]  invoke_syscall+0x4c/0x110
> [   38.031207]  el0_svc_common+0x8c/0xf0
> [   38.031880]  do_el0_svc+0x28/0x40
> [   38.032490]  el0_svc+0x40/0x88
> [   38.033054]  el0t_64_sync_handler+0x90/0x100
> [   38.033837]  el0t_64_sync+0x190/0x198
> [   38.034509] Sending NMI from CPU 2 to CPUs 4:
> [   48.036555] Sending NMI from CPU 2 to CPUs 5:
> [   78.247966] sched: DL replenish lagged too much
> [  121.047963] rcu: INFO: rcu_preempt self-detected stall on CPU
> [  121.049009] rcu: 2-...!: (21002 ticks this GP)
> idle=d1f4/1/0x4000000000000000 softirq=1552/1553 fqs=0
> [  121.050702] rcu: (t=26015 jiffies g=1269 q=784 ncpus=6)
> [  121.051669] rcu: rcu_preempt kthread timer wakeup didn't happen for
> 26014 jiffies! g1269 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x200
> [  121.053735] rcu: Possible timer handling issue on cpu=4 timer-softirq=296
> [  121.054982] rcu: rcu_preempt kthread starved for 26015 jiffies!
> g1269 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x200 ->cpu=4
> [  121.056876] rcu: Unless rcu_preempt kthread gets sufficient CPU
> time, OOM is now expected behavior.
> [  121.058530] rcu: RCU grace-period kthread stack dump:
> [  121.059447] task:rcu_preempt     state:R stack:0     pid:18
> tgid:18    ppid:2      flags:0x00000008
> [  121.061140] Call trace:
> [  121.061587]  __switch_to+0x15c/0x208
> [  121.062245]  __schedule+0x54c/0x9d0
> [  121.062885]  schedule+0x12c/0x1e0
> [  121.063494]  schedule_timeout+0x9c/0x1b0
> [  121.064214]  rcu_gp_fqs_loop+0x1e0/0x880
> [  121.064936]  rcu_gp_kthread+0x70/0x230
> [  121.065625]  kthread+0x104/0x198
> [  121.066217]  ret_from_fork+0x10/0x20
> [  121.066874] CPU: 2 UID: 0 PID: 237 Comm: (udev-worker) Not tainted
> 6.11.0-rc4-next-20240822 #1
> ...
> [  785.590550] Sending NMI from CPU 2 to CPUs 4:
> [  795.592594] Sending NMI from CPU 2 to CPUs 5:
> 
> boot Log links,
> --------
>   - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240822/testrun/24939658/suite/boot/test/clang-18-lkftconfig/log
>   - https://lkft.validation.linaro.org/scheduler/job/7816099#L523
>   - https://lkft.validation.linaro.org/scheduler/job/7815910#L2448
> 
> Boot failed comparison:
>   - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240822/testrun/24939658/suite/boot/test/clang-18-lkftconfig/history/
> 
> metadata:
> ----
>    git describe: next-20240822
>    git repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
>    git sha: 6a7917c89f219f09b1d88d09f376000914a52763
>    kernel config:
> https://storage.tuxsuite.com/public/linaro/lkft/builds/2l0EZh4ZCNgUovHichD9yUraMrY/config
>    kernel version: 6.11.0-rc4
>    artifact location:
> https://storage.tuxsuite.com/public/linaro/lkft/builds/2l0EZh4ZCNgUovHichD9yUraMrY/
>    build url: https://storage.tuxsuite.com/public/linaro/lkft/builds/2l0EZh4ZCNgUovHichD9yUraMrY/
>    toolchain: clang-18 and gcc-13
> 
> Steps to reproduce:
> ---------
>   - https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/tests/2l0EbxmBUpGzF37iIJ51WvkJFt8/reproducer
>   - https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/tests/2l0EbxmBUpGzF37iIJ51WvkJFt8/tux_plan
> 
> --
> Linaro LKFT
> https://lkft.linaro.org
> 




More information about the linux-amlogic mailing list