Will,

On Wed, Oct 25, 2006 at 02:10:39PM -0400, William Cohen wrote:
> Stephane Eranian wrote:
> >On Wed, Oct 25, 2006 at 11:56:34AM -0400, William Cohen wrote:
> >
> >>I am looking through the libpfm code and notice that PFMLIB_MAX_PMCS has 
> >>increased from 256 (libpfm-3.0) to 512 (libpfm-3.2). Is there a specific 
> >>case where the 256 wasn't large enough? Or is this assuming future 
> >>perfmon hardware will need the additional space?
> >>
> >
> >
> >Yes, this is justified by the fact that the kernel interface currently
> >supports up to 320 registers. So 256 was too small to cover for it.
> >I decided to double it to be okay for a while. We could reduce it
> >to 320 as well.
> >
> 
> So none of the processors are currently use more than 256 registers? I am 
None of them yet. On Itanium 2, we use PMC256-PMC263 to host the code and data
debug registers used with range restrictions. Those are not manipulated
by libpfm using those indexes. The reason for 256 is that the IA-64
architecture allows up to 256 PMC and 256 PMD register to be implemented.
That does not necessarily translate into 256 actual registers because there
can holes. If you look at the Montecito PMU you will see there is a hole between
PMC16-PMC32.

> working on backporting the montecito support to the earlier version of 
> libpfm and pfmon in RHEL4. I would like to avoid changing the data 
> structures used by the shared libraries if possible.
> 
Interesting.

> Other changes noticed in data structures during the backport were:
> 
> -pfmlib_input_param_t include pfp_unavail_pmcs field

Yes, this is a new feature introduced with 3.2. The library can dispatch
events when you only have a partial PMU available. It will try and use
other registers than those with their bit set in pfp_unavail_pmcs.
You can probably ignore this for your backport.

> -unit_masks and num_mask in pfmlib_event_t struct
> 
Yes, that was introduced to expose unit masks to tools. This was required to
cut down on complexity for the event table on PMU such as P4 and others where
the number of combination of units masks is fairly large for some events.

This is not used on IA-64, including Montecito.

-- 

-Stephane
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to