On Wed, May 1, 2013 at 9:24 PM, Carl E. Love <c...@linux.vnet.ibm.com> wrote: > Stephane: > > Yes, on further investigation it does appear that the kernel code should > do the right thing and use the fixed counter to make room for another > event on the programmable counter. > Ok, so that means your patch is not required, doesn't it?
> Carl Love > > On Wed, 2013-05-01 at 02:27 +0200, Stephane Eranian wrote: >> On Tue, Apr 30, 2013 at 5:31 PM, Carl E. Love <c...@linux.vnet.ibm.com> >> wrote: >> > Stephane >> > >> > I created the following patch for the IBM Power 7 and Power 7+ systems. >> > Please review and if acceptable commit it to the perfmon 2 source code >> > tree. Thank you. >> > >> > Carl Love >> > ------------------------------------------------------------------------- >> > >> > Power 7, change the code for the PM_RUN_INST_CMPL and PM_RUN_CYC events >> > >> > The Power 7 processor has four programmable counters and two fixed >> > counters. >> > Currently, the codes returned for PM_RUN_INST_CMPL and PM_RUN_CYC are for >> > the programmable counters. This patch changes the returned code to the >> > fixed counter code thus freeing up the programmable counters for other >> > events. >> > >> Something not clear to me here. >> perf_event in the kernel does the event scheduling. So is it the case that >> on Power, it is not able to recognize the event as also being supported >> by a fixed counter? >> >> > Signed-off-by: Carl Love <ca...@us.ibm.com> >> > --- >> > lib/events/power7_events.h | 4 ++-- >> > 1 file changed, 2 insertions(+), 2 deletions(-) >> > >> > diff --git a/lib/events/power7_events.h b/lib/events/power7_events.h >> > index 7bfdf15..a9afffe 100644 >> > --- a/lib/events/power7_events.h >> > +++ b/lib/events/power7_events.h >> > @@ -1299,7 +1299,7 @@ static const pme_power_entry_t power7_pe[] = { >> > }, >> > [ POWER7_PME_PM_RUN_INST_CMPL ] = { >> > .pme_name = "PM_RUN_INST_CMPL", >> > - .pme_code = 0x400fa, >> > + .pme_code = 0x500fa, >> > .pme_short_desc = "Run_Instructions", >> > .pme_long_desc = "Number of run instructions completed. ", >> > }, >> > @@ -2613,7 +2613,7 @@ static const pme_power_entry_t power7_pe[] = { >> > }, >> > [ POWER7_PME_PM_RUN_CYC ] = { >> > .pme_name = "PM_RUN_CYC", >> > - .pme_code = 0x200f4, >> > + .pme_code = 0x600f4, >> > .pme_short_desc = "Run_cycles", >> > .pme_long_desc = "Processor Cycles gated by the run latch. >> > Operating systems use the run latch to indicate when they are doing >> > useful work. The run latch is typically cleared in the OS idle loop. >> > Gating by the run latch filters out the idle loop.", >> > }, >> > -- >> > 1.7.12.rc1.22.gbfbf4d4 >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET >> > Get 100% visibility into your production application - at no cost. >> > Code-level diagnostics for performance bottlenecks with <2% overhead >> > Download for free and get started troubleshooting in minutes. >> > http://p.sf.net/sfu/appdyn_d2d_ap1 >> > _______________________________________________ >> > perfmon2-devel mailing list >> > perfmon2-devel@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/perfmon2-devel >> > > ------------------------------------------------------------------------------ Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with <2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1 _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel