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 ?