I've been running with this patch on ARM (dra7 SOC, which is a
dual-core A15) with a 4.1.18-rt17 kernel for a while without any
noticeable problems. Boosting the ktimersoftd processes on both cores
to a higher priority fixed some timing problems my userspace
application was seeing too.

The userspace application in question has a repeating timerfd in an
epoll and spends most of its time in blocking epoll_wait calls. Under
system load (most from other lower-RT-priority userspace processes),
it was seeing several-ms delays between the timerfd interrupt
happening and ksoftirqd running the HRTIMER softirq to wake it up.
That was with ksoftirqd running as SCHED_OTHER, which is what it
defaulted to. The priority inversion between the userspace processes
is gone after making ktimersoftd the same priority as the
highest-priority application.

Tested-by: Brian Silverman <br...@peloton-tech.com>

Reply via email to