`On Tue, Jun 23, 2009 at 7:16 AM, Paul Mackerras<paulus@samba.org> wrote:> Ingo Molnar writes:>>> > 2/ Grouping>> >>> > By design, an event can only be part of one group at a time.>> To clarify this statement of Stephane's, a _counter_ can only be in> one group.  You can have multiple counters counting the same _event_> and those counters can (obviously) be in different groups.>Okay.What happens if I do:   fd0 = perf_counter_open(&hwc1, getpid(), -1, -1, 0);   fd1 = perf_counter_open(&hwc2, getpid(), -1, fd0, 0);And then:   fd2 = perf_counter_open(&hwc2, getpid(), -1, fd1, 0);>> > Events in a group are guaranteed to be active on the PMU at the>> > same time. That means a group cannot have more events than there>> > are available counters on the PMU. Tools may want to know the>> > number of counters available in order to group their events>> > accordingly, such that reliable ratios could be computed. It seems>> > the only way to know this is by trial and error. This is not>> > practical.>>>> Groups are there to support heavily constrained PMUs, and for them>> this is the only way, as there is no simple linear expression for>> how many counters one can load on the PMU.>> That's not the only reason for having groups, or even the main reason> IMO.  The main reason for having groups is to provide a way to ask the> scheduler to ensure that two or more counters are always scheduled> together, so that you can meaningfully do arithmetic operations on the> counter values that would be sensitive to the statistical noise> introduced by the scheduling, such as ratios and differences.>> In other words, grouping is there because we don't guarantee to have> all counters scheduled onto the PMU whenever possible.  Heavily> constrained PMUs increase the need for scheduling, but even if> counters are completely orthogonal there are only a fixed number of> them so we still need to schedule counters at some point.>I agree completely.--To unsubscribe from this list: send the line "unsubscribe linux-kernel" inthe body of a message to majordomo@vger.kernel.orgMore majordomo info at  http://vger.kernel.org/majordomo-info.htmlPlease read the FAQ at  http://www.tux.org/lkml/`