[BUG?] Possible scheduler bug on Rock 5B RK3588 on 7.2.5

Chaoyi Chen chaoyi.chen at rock-chips.com
Wed Sep 16 18:12:14 PDT 2026


Hello Trevor,

On 9/16/2026 5:14 AM, Trevor Hemsley wrote:
> Hi
> 
> Apologies if this is seen as a repost but I originally sent it to 
> linux-arm-kernel but did not realise the sheer volume of traffic on that 
> list so I think it got lost immediately. I'm hoping this is a more 
> specific venue that might be able to help.
> 
> I recently acquired an 8GB Radxa Rock 5B (they're comparatively cheap), 
> which uses a Rockchip RK3588 chip and have installed armbian on there 
> and while stress testing the new machine I noticed something quite odd. 
> If I run `openssl speed -multi 8` then watch using top or btop that 
> shows individual cores, I see it start off using all 8 cores and then 
> just stop using one of them at random. Every few minutes it will flip 
> the inactive core to a different one but there is always one idle. It 
> seems to prefer the 0-3 slower cores to be idle but I've also seen it 
> pick the faster cores 4-7 and stop using those but once it starts it 
> seems to never use more than 87.5% cpu as one core is dropped from use.
> 
> I do not think this is a thermal problem as the cpu temp reported is < 57C.
> 
> I​ have also run `for i in {0..7}; do taskset -c $i openssl speed & 
> done` and this starts 8 processes and pins each process to a specific 
> core in which case they all run at 100%, all of the time. This seems to 
> me to indicate that it is a scheduler problem as I'm manually telling it 
> where to run it. That solves the problem but is unrealistic in real ife.
> 
> I have tested this on several armbian supplied kernels from 6.12.58 to 
> 7.2.5 and the results are similar on all of them. After some period of 
> time, it will stop using one or more cores even though there are 
> dispatchable tasks waiting. I have also substituted `stress --cpu 8` for 
> openssl speed -multi 8 and the results are the same so that seems to 
> rule out an openssl bug. If I increase the number of tasks the problem 
> still occurs, I've used 8 9 10 11 and 12 and after a while - the more 
> the requested tasks the longer it takes - it still ends up giving up on 
> one core. I have also had reports from 2 other Rock 5B users that can 
> reproduce this behaviour, one even told me that his was idling 2 cores 
> (using a 7.1 kernel) and the other says it's better after installing 
> kernel 7.2.5 although that is not my experience. I've tested 6.12.58, 
> 6.18.44, 7.1.8 and 7.2.5 with very little change in symptoms.
> 
> I also have an old Odroid HC1 which uses a Samsung Exynos 5422 and has a 
> similar 8 core big:little processor setup and is running Debian 13 with 
> a 6.12.107 kernel and this does not exhibit the problem. Same underlying 
> Debian 13 version on this as the Rock 5B. I tested the Rock 5B with the 
> 6.12.58 armbian kernel as it was the most similar to the working one on 
> the HC1 in case it was some form of regression.
> 
> There are no diagnostic messages in the output from `dmesg -T`. If it 
> were thermal or some hardware problem I would expect to be told about it 
> there.
> 
> $  uname -a
> Linux rock-5b 7.2.5-edge-rockchip64 #1 SMP PREEMPT Fri Sep 11 09:51:26 
> UTC 2026 aarch64 GNU/Linux
> 
> I caught it idling 2 cores for about 2 minutes:
> top - 20:49:22 up  1:36,  3 users,  load average: 8.30, 8.31, 8.28
> Tasks: 205 total,   9 running, 196 sleeping,   0 stopped,   0 zombie
> %Cpu0  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi, 0.0 si,  
> 0.0 st
> %Cpu1  :  0.0 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi, 0.3 si,  
> 0.0 st
> %Cpu2  : 99.7 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.3 hi, 0.0 si,  
> 0.0 st
> %Cpu3  : 99.7 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.3 hi, 0.0 si,  
> 0.0 st
> %Cpu4  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi, 0.0 si,  
> 0.0 st
> %Cpu5  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi, 0.0 si,  
> 0.0 st
> %Cpu6  :  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi, 0.0 si,  
> 0.0 st
> %Cpu7  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi, 0.0 si,  
> 0.0 st
> 
>     1599 ?        S      0:00  |   \_ sshd-session: trevor at pts/0
>     1600 pts/0    Ss     0:00  |       \_ -bash
>    10802 pts/0    S+     0:00  |           \_ stress --cpu 8
>    10803 pts/0    R+    42:58  |               \_ stress --cpu 8
>    10804 pts/0    R+    43:40  |               \_ stress --cpu 8
>    10805 pts/0    R+    42:17  |               \_ stress --cpu 8
>    10806 pts/0    R+    43:00  |               \_ stress --cpu 8
>    10807 pts/0    R+    53:02  |               \_ stress --cpu 8
>    10808 pts/0    R+    55:12  |               \_ stress --cpu 8
>    10809 pts/0    R+    55:12  |               \_ stress --cpu 8
>    10810 pts/0    R+    47:29  |               \_ stress --cpu 8
> 
> Still 8 threads running.
> 
> And this is sar from around that time with stress --cpu 8 running:
> 00:00:51        CPU     %user     %nice   %system   %iowait %steal     %idle
> 00:10:43        all     87.41      0.00      0.11      0.00 0.00    12.48
> 00:20:51        all     87.41      0.00      0.11      0.00 0.00    12.48
> 00:30:51        all     87.41      0.00      0.11      0.00 0.00    12.48
> 00:40:43        all     87.41      0.00      0.11      0.00 0.00    12.48
> 00:50:51        all     87.41      0.01      0.11      0.00 0.00    12.47
> 01:00:51        all     87.41      0.00      0.11      0.00 0.00    12.48
> 01:10:43        all     87.41      0.00      0.11      0.00 0.00    12.48
> 
> This looks like a kernel bug to me?
> 
> I'm writing from an email address that is not subscribed to 
> linux-rockchip so if you have any questions or suggestions please cc me 
> direct. I will be reading the archives if not.
> 

Thank you for reporting this problem. 

Would you mind trying to disable `CONFIG_SCHED_CLUSTER` and checking whether
the problem still reproduces?

-- 
Best, 
Chaoyi




More information about the Linux-rockchip mailing list