On Sat, Jun 20, 2009 at 12:00 AM, Corey J Ashford<cjash...@us.ibm.com> wrote: > stephane eranian <eran...@googlemail.com> wrote on 06/19/2009 12:27:31 PM: > >> On Fri, Jun 19, 2009 at 9:20 PM, stephane >> eranian<eran...@googlemail.com> wrote: >> > On Fri, Jun 19, 2009 at 9:03 PM, Corey J Ashford<cjash...@us.ibm.com> > wrote: >> >> Hi Stephane, >> >> >> >> For these sort of events which require multiple pmds, how does libpfm >> >> describe to the caller the formula for combining the values from the > pmds? >> >> Or is it expected that the caller knows how? >> > >> > It is expected the caller knows. >> Well, libpfm4 would need to provide some help, at least to detect >> that an event >> description is indeed special. >> >> For instance, on AMD64, if I pass IBSOP_EVENT:m=0xfff0, then I will get >> back one PMC and 7 PMDS. The tool somehow need to know user has > requested >> IBS and that special handling is required. >> >> We could do something such as: >> int pfm_amd64_event_ibsop(const char *str); >> int pfm_amd64_event_ibsfetch(const char *); > > Sorry, I'm not following this. The tool calls them with a full event > string returns a boolean which says yes or no that the user requested IBS > ? What does the ibsfetch vs. ibsop do? > IBS is the general term, it actually offers two distinct type of measurements which use distinct set of registers: fetch to look at instruction fetches, op to look at individual instructions. Both features can be used simultaneously. IBSFETCH = 1 config, 3 data registers IBSOP = 1 config, 7 data registers.
Only makes sense way used with sampling. The tool needs to know which of the two features it needs to deal with, so it know how to decode the data registers. it is one thing to know how many registers to read (or expect in the sampling buffer). It is another to know how to decode them. The current perfmon sampling buffer stores data register in increasing index number, not in the event order. > Originally, I thought you were talking not about PEBS/IBS so much as > events similar to PAPI's preset events, or the generic events in PCL which > can require multiple counters to implement. > Yes, and you will to know how much you need to read(). But I suspect for IBS, PCL will limit to having a sample_type for IBSFETCH and another for IBSOP. But they will need to define two pseudo events to enable each of the two modes. IBS also require a sampling period which has restrictions, but this can be passed in the sample_period field. IBSFETCH also has an optional randomization feature. That would have to be encoded in the pseudo-event. ------------------------------------------------------------------------------ Are you an open source citizen? Join us for the Open Source Bridge conference! Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. Need another reason to go? 24-hour hacker lounge. Register today! http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel