On 03/11/2013 01:13 PM, Carl E. Love wrote:
> operf, remove support to report multiplexing.
> The multiplexing reporting doesn't work correctly when profiling
> multi-threaded apps or apps that do fork/exec. The detection of
> multiplexing doesn't work when processes migrate between CPUs.
> The event is enabled on all CPUs. The running time stops when the
> event migrates to another CPU however, the enabled time does not stop as it
> is enabled on each CPU. The issue is that the running time across CPUs
> doesn't add up to the enabled time because of the running time is not
> increasing while the process is being migrated. This results in the running
> time being less then the enabled time. There is no way to detect if the
> reason the running time is less then the enabled time was do to migration
> or due to multiplexing.
> The support is being removed so that the operf tool is not incorrectly
> flagging events for multiplexing.
This is very unfortunate. I hope you can work with kernel folks to add the
required kernel support so this feature can be reinstated at some time in the
future. Keep us posted, please.
Patch reluctantly committed.
> Signed-off-by: Carl Love <cel@...>
> libperf_events/operf_counter.cpp | 11 +---
> libperf_events/operf_stats.cpp | 135 --------------------------------------
> libperf_events/operf_stats.h | 25 ++------
> libpp/profile_spec.cpp | 26 -------
> pe_profiling/operf.cpp | 16 +----
> 5 files changed, 8 insertions(+), 205 deletions(-)