Wind River Support Network

HomeDefectsLIN1022-7004
Acknowledged

LIN1022-7004 : Real-time process priority inversion

Created: Mar 5, 2024    Updated: Mar 17, 2024
Found In Version: 10.22.33.14
Severity: Severe
Applicable for: Wind River Linux LTS 22
Component/s: Userspace

Description

Lower priority process can trigger RT process to loop in kernel forever without making progress, stalling the whole userspace.

Steps to reproduce:
 # Single core system / core isolation to single core (isolcpus=1,2,3 nohz_full=1)

sysctl -w kernel.sched_rt_runtime_us=-1

chrt -rr 10 sh -c 'while : ; do /bin/true; usleep 1000; done' &

while sh -c :; do /bin/true; date; echo 1 > /proc/sys/vm/drop_caches; done

As suggested solution, it appears there is a patch missing from 5.15:
[https://lkml.org/lkml/2024/3/5/690]

Steps to Reproduce

runqemu qemux86-64 slirp nographic bootparams="isolcpus=1,2,3 nohz_full=1"
sysctl -w kernel.sched_rt_runtime_us=-1
chrt -rr 10 sh -c 'while : ; do /bin/true; usleep 1000; done' &
while sh -c :; do /bin/true; date; echo 1 > /proc/sys/vm/drop_caches; done
Live chat
Online