perf tools:Is there any tools to found out the max latency by irqor cpu idle

From: Linhaifeng
Date: Thu Apr 11 2019 - 20:57:32 EST


Hi,
I have a single thread application like this:

While (1) {
ÂÂÂ start = rdtsc();
ÂÂÂ sqrt (1024);ÂÂÂÂÂ
ããend = rdtsc();
ããcycles = end â start;
ããprintf("cycles: %d-%02d-%02d %02d:%02d:%02d: %lu\n",
ãããããã1900+timeinfo->tm_year, 1+timeinfo->tm_mon, timeinfo->tm_mday, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec,
ããããããcycles);
}
It print the cycles of sqrt every second and run with taskset âc 1 ./sqrt.
The result of test is:

sqrt 2019-04-10 23:53:50: 43968
sqrt 2019-04-10 23:53:51: 44060
sqrt 2019-04-10 23:53:52: 49012
sqrt 2019-04-10 23:53:53: 38172
sqrt 2019-04-10 23:53:54: 131081408
sqrt 2019-04-10 23:53:55: 43600
sqrt 2019-04-10 23:53:56: 46704
sqrt 2019-04-10 23:53:57: 46880
sqrt 2019-04-10 23:53:58: 44332
ââ
sqrt 2019-04-10 02:17:15: 131081408
ââ
sqrt 2019-04-10 04:40:35: 131081408
ââ

Every 2hour23min there would be a large cycles. I use perf sched not found any sched_switch events.

L2GW_2680:/home/fsp/zn # perf sched record -C 6-11 -o perf.sched
^C[ perf record: Woken up 64 times to write data ]
[ perf record: Captured and wrote 204.878 MB perf.sched (1911189 samples) ]

L2GW_2680:/home/fsp/zn # perf sched latency -i perf.sched

-----------------------------------------------------------------------------------------------------------------
 Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | Maximum delay at |
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
 TOTAL: | 0.000 ms | ÂÂÂÂÂÂÂ0 |
---------------------------------------------------



Is there any other tools of perf to found out the max latency by irq or cpu idle ?