Hi All,
On a Linux system with isolated cpus and nohz_full[1] we see the following issue:
While profiling an application running on isolated CPU with Coresight via Perf tool, we noticed that only one sample of trace data is collected. To collect more samples, we tried using the -F max option.
$ perf record -e cs_etm/@tmc_etr0/ -F max -C 5 taskset -c 5 test-app
This results in a lot of trace data samples being generated. As a side-effect several timer work interrupts are handled on that core which are affecting latency of the application running on the isolated cpu.
Setting -F to a lower value isn't changing the behavior and still results in the same amount of trace samples as -F max option.
Have you noticed this behavior with -F option ?
To avoid too many timer interrupts being handled on the profiled core, are the following solutions viable ?
1. Send IPIs to enable/disable the ETMs and handle the timer interrupts on a different Core. 2. CTI to enable/disable the ETMs on every timer expiry.
Can you please suggest any other solutions ?
With Regards, Tanmay
[1] Kernel command line: isolcpus=4-23 nohz_full=4-23 rcu_nocbs=4-23