Cyclictest Performance on RHEL7.1

Posted on

I am tuning cyclictest max on single CPU. I have got perf report like following. Would someone explain why cyclictest process failed to be scheduled even when the CPU is idle? And I have found that the explicit delay was always followed by kworker switch?

Precondition:
User = root. CPU13 isolated in grub. Cyclictest process task belongs to /sys/fs/cgroup/tasks. cpu.rt_runtime_us = -1 along the path. rcu tasks moved into another cgroup that has CPU13 excluded.

uname -a

Linux 1d200.localdomain 3.10.0-210.el7.x86_64 #1 SMP Mon Nov 24 18:10:47 EST 2014 x86_64 x86_64 x86_64 GNU/Linux

Command:

cyclictest -p99 -m -n -a 13

Result:

perf sched latency --sort max


Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | Maximum delay at |


kworker/13:1:54878 | 0.017 ms | 3 | avg: 0.397 ms | max: 0.700 ms | max at: 623309.188954 s
cyclictest:18972 | 0.000 ms | 147613 | avg: 0.002 ms | max: 0.031 ms | max at: 623177.274770 s
rcu_sched:138 | 0.007 ms | 1 | avg: 0.000 ms | max: 0.000 ms | max at: 0.000000 s


TOTAL: | 0.023 ms | 147617 |


*B0 623177.274774 secs B0 => kworker/13:1:54878

*C0 623309.185246 secs C0 => rcu_sched:138
*. 623309.185253 secs
*A0 623309.185632 secs
*. 623309.185634 secs
*A0 623309.186631 secs
*. 623309.186633 secs
*A0 623309.187630 secs
*. 623309.187632 secs
*A0 623309.188951 secs
*B0 623309.188954 secs
*. 623309.188959 secs
*A0 623309.189630 secs
*. 623309.189632 secs

Max happens between 623309.187630 and 623309.188951
Then B0 happened

Thank you.

Responses