Im trying to do some performance analysis of my process. The process has many threads that are busy looping / busy waiting for events. It looks like perf is picking up the busy loops as the top offenders ( as expected ) but is there any sort of magic to somehow have perf ignore these no-op spins?
Asked
Active
Viewed 388 times
1
-
1Are you in control of the code? – kabanus Dec 05 '17 at 20:27
1 Answers
0
perf report
can filter by symbol or DSO, but there is no way to use a blacklist.
I thought there might be a way using combining -p -x
, but POSIX regex don't seem to support negative lookahead, so a blacklist also seems unfeasible.
At the end of the day, you probably want something called root cause analysis or blame shifting to attribute the waiting time to whatever cause the event itself to be delayed. I don't think this is possible with perf
directly.
Also it is often better to passively wait for an event rather than busy waiting.

Zulan
- 21,896
- 6
- 49
- 109