Stephane,
On 05.04.08 09:05:12, stephane eranian wrote:
> Ok, now I understand your problem. We need the library to pass back the index
> of the ibsopctl, ibsfetchctl register in pfp_pmds[]. For that you can define
> a model-specific output_param for AMD64. We define such structure on Itanium
> where we need to pass debug register values. Look at
> include/perfmon/pfmlib_itanium2.h.
> The model-specific param is passed to pfm_dispatch_events(). Just add
> 2 fields in
> there to report the indexes of the two PMDs of interest.
>
> How does that sound?
You are right, and isn't the current implementation very close to
this?
I looked at the Itanium implementation and I don't want to declare
another array for PMD and PMC registers in model-specific output_param
as in:
typedef struct {
unsigned int rr_nbr_used; /* how many registers
were used */
pfmlib_ita2_output_rr_desc_t rr_infos[4]; /* at most 4 distinct
intervals */
pfmlib_reg_t rr_br[8]; /* debug reg to
configure */
} pfmlib_ita2_output_rr_t;
Instead, I think it is better to use those in the generic output
params. Advantages are, that the application could copy all registers
in one loop and no additional declaration of register arrays are
needed. So, what leaves to the model-specific params are the indexes
of the IBS base registers as in the current implementation:
typedef struct {
uint32_t ibsfetch_base; /* Perfmon2 base register index */
uint32_t ibsop_base; /* Perfmon2 base register index */
uint64_t reserved[7]; /* for future use */
} pfmlib_amd64_output_param_t;
What do you think.
-Robert
--
Advanced Micro Devices, Inc.
Operating System Research Center
email: [EMAIL PROTECTED]
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Register now and save $200. Hurry, offer ends at 11:59 p.m.,
Monday, April 7! Use priority code J8TLD2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
perfmon2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel