With legacy oprofile, we could not profile on more events than we had hardware resources for. For example, if the processor only has 4 performance monitor counters, then only 4 events (at most) could be profiled simultaneously. Additionally, some architectures had limitations where some events can only be counted on certain hardware counters. This situation is quite problematic on IBM POWER processors (i.e., ppc64 architecture), and the concept of groups of events is used to ensure that the user requests only events that are in the same group -- implying that those events are evenly scattered across available performance monitor counters, with no overlap.
With operf, the underlying perf_events kernel code can multiplex events, so the user *can* profile on more events than the processors has physical resources to accomodate simultaneously. When using operf, we should allow ppc64 users to specify events without the _GRP<n> suffix.
Log in to post a comment.