Pierre FICHEUX <pierre.ficheux@xxxxxxxx> writes: > Hi, > > I have a strange problem on a PREEMPT_RT system. > > I have a process with 2 threads, > > - 1 TR thread (10 ms period) which places 350 KB blocks in a fifo (1 > block every 10 ms). > - 1 non-TR thread (SCHED_OTHER) which reads the block in the fifo and > writes it to the disk > > If I run this on a powerful machine (HP Z4-i9, 14 cores, NVME disk, > CentOS 7 with 3.10 PREEMPT_RT kernel, yes that's ooold), the max > jitter WITH hackbench remains around 20 to 30 µs while the max jitter > WITHOUT hackbench goes up to 350 µs! > > -> hackbench -p -g 20 -l 10000000 > > Running the program with taskset 01 doesn't change anything > If I don't write the data to disk it doesn't change anything either. > > The important jitters appear rather at the beginning (but sometimes also later). > > Any ideas ? Is power management (cpuidle, cpufreq) enabled on the system? One possible explanation - The load from the 10ms task, isn't high enough to keep the system at high-frequencies or prevent it from going into deeper sleep states. Both of these can impact latencies. With hackbench, the system is sufficiently busy to avoid the going into idle. > > > thanks by advance > > -- > Pierre